4

文字クラスエントリを持つマトリックスがあります。

sapply(mat,class)
"character"

この行列にrowSumsを適用したいのですが、エラーが発生します。

Error in rowSums(mat) : 'x' must be numeric

as.numeric(mat)を実行すると、ベクトルが得られます。

文字から数値に変更するが、行列構造を維持する方法はありますか?

4

1 に答える 1

8

マトリックスのストレージモードを変更できます。

mmat <- matrix(c("2","3","7","0"), ncol = 2)
storage.mode(mmat) <- "double"  # changed from "numeric"
rowSums(mmat)
# [1] 9 3
于 2013-01-04T12:59:58.117 に答える