【发布时间】:2015-06-03 09:10:45
【问题描述】:
我正在尝试获取每个人的因子分数。因子存储在数据帧factors 中,我需要获取另一个名为data 的数据帧中与factors 对应的值的平均值,并将其存储在data 的新列中。我为糟糕的解释道歉。我希望我的例子会有所帮助,我很乐意回答问题!
factors<-data.frame(c(NA,2,NA),c(NA,3,1))
colnames(factors)<-c("v1","v2")
row.names(factors)<-c("col1data","col2data","col3data")
factors
data<-data.frame(c(2,4,2),c(1,1,2),c(3,3,3))
colnames(data)<-c("col1data","col2data","col3data")
row.names(data)<-c("person1","person2","person3")
data
#in dataframe factors row col2data is present (i.e. not NA) under factor V1
#go into dataframe data for each person and make a new column called v1 that holds the value of col2data
#do this for factor v2 and average the values to come up with one number for each person. Final result
data<-data.frame(c(2,4,2),c(1,1,2),c(3,3,3),c(1,1,2),c(2,3,2.5))
colnames(data)<-c("col1data","col2data","col3data","v1","v2(avg col2 and col3)")
row.names(data)<-c("person1","person2","person3")
data
我将尝试将其分解为几个步骤(据我了解该过程):
factors 的列中查找非 NA 的行名
data 列匹配。
data 中的匹配行名称求和,并将每个人存储在称为data 中列的列名称的新变量中(例如v1)
【问题讨论】:
标签: r