我有以下示例数据框:
x<-c(1:4)
y<-c(9:12)
z<-c("a","b","c","d")
data<-data.frame(x,y,z) # as data:
x y z
1 1 9 a
2 2 10 b
3 3 11 c
4 4 12 d
我想使用函数提取第 2 列或第 3 列(注意:我使用的是列名来提取)。我的代码如下:
data_frame<-function(col){
cols<-c("y","z")
# column x is already there; it is not in a vector of col.
if (col %in% cols){
kk<-data[,c("x","col")]
return (kk)}
}
现在,我想要data_frame("y")
. 但是,R 给了我以下错误:
data_frame("y")
Error in `[.data.frame`(data, , c("x", "col")) :
undefined columns selected.
我想知道为什么 R 不接受我col
在y
这里的论点。我有点不高兴为什么 R 将参数解释col
为列的名称。您在这方面的宝贵建议将不胜感激。