从我用R做的读数,我可以通过以下两种方法之一在数据框中选择一列:frame [,column]或frame $ column.但是,当我将一个字符串作为变量时,它只能在第一个字符串中起作用.换句话说,请考虑以下事项:
我有一个数据框,tmp,一个较大的问题响应数据框的子集.V1是响应者的id,Q5.3是响应,1或0:
V1 Q5.3 2 R_bdyKkzWcvBxDFTT 1 3 R_41wnKUQcM8mUW2x 0 4 R_2ogeykkgbH2e4RL 1 5 R_8D4jzMBfYO0M0ux 1 6 R_3KPgP2pxWROnip7 1 str(tmp) 'data.frame': 5 obs. of 2 variables: $ V1 : Factor w/ 364 levels "R_0039orNoOoWaDQx",..: 256 116 70 201 95 $ Q5.3: num 1 0 1 1 1
现在,我定义一个变量x,它保存其中一列的名称字符串.
x<-"Q5.3"
tmp [,x]返回我认为它应该返回的内容:
tmp[,x] [1] 1 0 1 1 1
tmp $"Q5.3"返回我认为它应该返回的内容:
tmp$"Q5.3" [1] 1 0 1 1 1
但是tmp $ x会返回
tmp$x NULL
如何告诉R将tmp $ x解释为tmp $"Q5.3".