我对 R 比较陌生(以前曾在 Stata 工作过),如果问题太琐碎,我很抱歉。
我有一个数据框,其中的变量按顺序命名,遵循以下逻辑: q12.XY 其中 X 假定值从 1 到 9,Y 假定值从 1 到 5
我需要将所有 q12.XY 变量的变量值与从 1 到 3 的 Y 数字相加(但不是以数字 4 或 5 结尾的那些)
理想情况下,我会根据变量的序号编写一个循环,即:
df$test <- 0
for(i in 1:9){
for(j in 1:3){
df$test <- df$test+ df$q12.i.j
}
}
那显然行不通。
我还尝试使用命令“rowSums”和“子集”
df$test <- rowSums(subset(df,select= ...)
但是我觉得它有点麻烦,因为列号不是连续的,我不想输入所有变量的名称。
任何建议如何做到这一点?