R标准偏差超过行数

时间:2017-12-12 04:39:10

标签: r dplyr

以下代码将对虹膜数据框中每一行的第1列到第4列求和。

library(dplyr)
iris %>% mutate(sumVar = rowSums(.[1:4]))

如何计算虹膜数据帧中每一行的相同四列的标准差?我想避免使用列名并坚持使用列号。每次查询数据时,我的列名通常都会更改。这不起作用:

library(dplyr)
iris %>% mutate(stDev = sd(.[1:4]))

3 个答案:

答案 0 :(得分:2)

我们可以将其转换为matrix,然后从rowSds

执行matrixStats
library(matrixStats)
library(dplyr)
iris %>%
     mutate(stDev = rowSds(as.matrix(.[1:4])))

答案 1 :(得分:2)

这应该可以解决问题。

iris %>% mutate(stDev = apply(.[(1:4)],1,sd))

答案 2 :(得分:1)

这个基础 R 应该可以解决问题吗?

apply(iris[ ,1:4],1,sd)