【发布时间】:2014-10-04 14:32:45
【问题描述】:
我的初始数据如下所示:
ID<-c(1,2,3,4)
Value<-c("1,2","0,-1",1,"","")
Data<-data.frame(ID, Value)
我想为每一行从 Value 创建一个 MeanValue。如果价值没有价值,我想取平均值。
我计算第一步均值的想法是:
library(stringr)
AverageMean<-mean(as.numeric(str_split(Data$Value, ",")))
但它正在创建一个错误
最终数据应该看起来像:
ID<-c(1,2,3,4)
Value<-c("1,2","0,-1",1,"","")
AverageMean<-c(1.5,-0.5,1,0.666,0.666)
FinalData<-data.frame(ID, Value, AverageMean)
【问题讨论】:
-
@akrun 对于第二步,它应该成为其他帖子的平均值。所以它从 NA 变为 0.666
-
我建议放弃
str_split并改用基础 R 中的strsplit。如果您处理的是中等大小的数据集,也会有很大的不同。 -
@Carlo 我更新了帖子。