Pab*_*ita 2 r matrix median dataframe
df我正在尝试使用rowMediansfrom包计算数据框的行中位数matrixStats。
Abundance Sample1 Sample2 Sample3 Sample4 Sample5 Sample6 Sample7
Species1 2 4 0 0 0 6 0
Species2 3 5 6 4 0 0 0
Species3 3 7 2 5 8 0 0
Species4 0 0 3 8 0 0 8
Species5 7 5 6 0 0 4 4
Species6 4 2 3 0 0 2 1
Run Code Online (Sandbox Code Playgroud)
我想计算每行的中位数并将它们附加到新列中。我收到一个错误
参数“x”必须是向量或矩阵
所以我尝试将我的转换df为矩阵。该str函数显示该物种的每个值都是数字,所以我尝试:
library(matrixStats)
matrix(df, rownames.force = NA)
rowMedians(df)
Run Code Online (Sandbox Code Playgroud)
但我仍然遇到同样的错误。任何帮助表示赞赏。
您不想包含该Abundance列来进行中值计算。让df成为您当前的数据框。
library(matrixStats)
rowMedians(as.matrix(df[-1]))
Run Code Online (Sandbox Code Playgroud)
除了上面的正确代码之外,还有一些注释。
matrix(df)?df. 所以rowMedians(df)会给你同样的错误,就好像什么都没发生一样;as.matrix(df[-1])和as.matrix(df)。了解这些问题可以防止您将来出错。