你能不能把你的数据放在一个数据框中:
data<-matrix(rbinom(18*30,1,.5),nrow=18,ncol=30)
questions<-paste("Q",1:30,sep="_")
attributes<-paste("Attribute",1:18,sep="")
df<-data.frame(data,row.names=attributes)
names(df)<-questions
然后您可以访问所有 Q_1 答案:
> df[,'Q_1']
[1] 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1
所有具有属性 2 的问题:
> df['Attribute2',]
Q_1 Q_2 Q_3 Q_4 Q_5 Q_6 Q_7 Q_8 Q_9 Q_10 Q_11 Q_12 Q_13 Q_14 Q_15
Attribute2 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0
Q_16 Q_17 Q_18 Q_19 Q_20 Q_21 Q_22 Q_23 Q_24 Q_25 Q_26 Q_27 Q_28
Attribute2 1 1 1 0 0 1 1 0 1 0 0 1 1
Q_29 Q_30
Attribute2 1 0
或问题 1 属性 18
> df['Attribute1','Q_18']
[1] 1
编辑:
如果您只想创建 540 个变量,那么:
test<-paste("Q_Attribute",c(1:18),sep="")
test<-c(sapply(test,function(x,y){paste(x,y,sep="_")},y=c(1:30)))
lapply(test,function(x){assign(x,NA,envir = .GlobalEnv)})