1. ホーム
  2. r

[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?

2022-01-21 09:14:36

質問

以下のようなcsvファイルの要素からプロットを作成しようとしています。

h1,h2,h3,h4
a,1,0,1,0
b,1,1,0,1
c,0,0,1,0

次のコードを試してみましたが、次のようなエラーが表示されます。

data.frame(id = varieties, attr(mat, "row.names"), check.rows = FALSE) でエラーになりました。 引数は、異なる行数を意味します:8、20

私のサンプルデータは8列、20行(ヘッダーと行名を除く)です。ネットで調べたり、いくつかの修正を実装してみましたが、問題はまだ続いています。何か手助けがあれば本当に感謝します。

mat <- read.csv("trial.csv", header=T, row.names=1)
varieties = names(mat)
df <- data.frame(id=varieties,attr(mat, "row.names"), check.rows= FALSE)

解決方法は?

あなたのdata.frame mat は長方形 (n_rows!= n_cols) です。

したがって data.frame というのも、data.frame の各列は同じ長さでなければならないからです。

これで十分かもしれませんね。

require(reshape2)
mat$id <- rownames(mat) 
melt(mat)