我想在我的数据表中创建一个新列,其值存储在我表中的其他列中 . 我认为来自dplyr包的mutate函数对我来说是最好的解决方案,但遗憾的是它似乎不起作用 .
这是我正在使用的代码:
require(dplyr)
CPI <- read.csv("CPI.csv", sep = ";")
CPI <- tbl_df(CPI)
CPI <- mutate(CPI, variance = var(CPI.1:CPI.6, na.rm = T))
这是我得到的错误:
Error in c(1.3, 1.4, 2.9, 3.1, NA, NA, NA, NA, NA, NA, NA, NA):c(NA, 1.2253333335, :
NA/NaN argument
是否可以使用mutate计算方差?我应该使用其他解决方案?
3 回答
如果
CPI.1:CPI.6
按照您的预期进行评估,我会感到惊讶 . 为什么不采取原来的data.frame
并执行此操作:或者使用
matrixStats
包来提高速度和清晰度:看起来你需要逐行执行操作 . 你可以试试这个
或者你还想做别的什么?
如果您需要每行的方差,则选项将使用
do
与rowwise()
数据