【发布时间】:2019-03-26 13:51:50
【问题描述】:
我正在寻找一种更优雅的方法来计算 7 列的加权分数,如下所示。
每列代表一个条件分数(从 1 到 7),观察值代表在该分数处观察到的百分比(每行必须总和为 1)。
加权分数只是每个行变量乘以其条件分数的总和。
创建数据集:
rand.sum <- function(n) {
x <- sort(runif(n-1))
c(x,1) - c(0,x)
}
df <- t(replicate(10,rand.sum(7)))
colnames(df)<-c(1:7) # Change the column names to reflect condition value
df <- as.data.frame(df)
创建加权分数列(我的方式...):
df$weightedCondScore <- ((df[,1]) * 1) + ((df[,2]) * 2) +
((df[,3]) * 3) + ((df[,4]) * 4) +
((df[,5]) * 5) + ((df[,6]) * 6) +
((df[,7]) * 7)
有没有更好的方法通过引用列名(分数)和循环函数来计算加权分数?数据集包含更多列,我真的不想修复索引编号,以防在添加其他变量时它会发生变化。
【问题讨论】:
标签: r