我有一个变量名称列表{' X14_question_1',' X14_question_2' ......等等,让我们说有20个。如何将这些名称分配给矢量而无需手动输入所有这些名称?
我能否以某种方式与此相似 - vector = c('X14_question_'1':20)
(这个确切的语法不是工作obv),还是我必须使用循环?
答案 0 :(得分:2)
事实证明找到答案相对容易,我只是找不到合适的地方!
非常感谢。 :)
vector=c(paste("X14_question_",1:20,sep=""))
答案 1 :(得分:1)
我喜欢sprintf
这些类型的东西,因为它也允许你在这个过程中进行一些转换。
这是一种基本的(无转型)方法:
vec1 <- sprintf('X14_question_%d', 1:20)
head(vec1)
# [1] "X14_question_1" "X14_question_2" "X14_question_3" "X14_question_4"
# [5] "X14_question_5" "X14_question_6"
这是一种在数字中填充零的方法,以便更轻松地进行排序。
vec2 <- sprintf('X14_question_%02d', 1:20)
head(vec2)
# [1] "X14_question_01" "X14_question_02" "X14_question_03" "X14_question_04"
# [5] "X14_question_05" "X14_question_06"
答案 2 :(得分:0)
让我们看看这是否对您有所帮助:
vars <- paste('X14_question_', 1:20)
v <- vector()
for(i in 1:length(vars)) {
v[i] <- eval(parse(text = vars[i]))
}
也许这不是最干净的方式,但可能有效