对R中的变量列表求和
我试图总结一系列变量对R中的变量列表求和,r,variables,sum,R,Variables,Sum,我试图总结一系列变量 qdisgust <- c(2,3,5,8,12,17,18,22,23,25,28,29,31,33) vqdisgust <- list() n <- length(qdisgust) lhs <- paste("mydata$Disgust_", qdisgust, sep="") eq <- paste("vqdisgust <- c(lhs)") eval(parse(text=eq)) qdisgust如果我们想
qdisgust <- c(2,3,5,8,12,17,18,22,23,25,28,29,31,33)
vqdisgust <- list()
n <- length(qdisgust)
lhs <- paste("mydata$Disgust_", qdisgust, sep="")
eq <- paste("vqdisgust <- c(lhs)")
eval(parse(text=eq))
qdisgust如果我们想要获得“mydata”中多列的sum
,我们可以使用colSums
colSums(mydata)
如果qdisgust
是列的索引,则
colSums(mydata[paste0("Disgust_", qdisgust)])
或
qdisgust
是一个vector
其中是mydata
?请提供一个可复制的示例,您可能不需要评估(parse
谢谢@akrun!这似乎是朝着正确的方向进行的。但是我得到了以下错误:[.data.frame
(mydata,paste0(“厌恶”),qdisgust]中的colSums错误:未定义的列selected@Chris它基于您显示的代码。paste0
将获取数据集中可能存在的列名。请检查这些列是否在您的数据中。很好,@akrun。我现在得到以下错误:>colSums(mydata[paste0(“厌恶”),qdisgust)]colSums中的错误(mydata[paste0])(“厌恶”,qdisgust)]:“x”必须是numeric@Chris这意味着您要求和的列不是数字。请检查str(mydata)
,如果不是数字,请使用as.numeric
转换为numeric
,如果是字符。如果是factor
,则转换为as.numeric(as.character(
非常感谢,@Akrun!现在它工作得非常好!
colSums(mydata[grep("Disgust_", names(mydata))])