访问可以具有不同名称

时间:2017-10-06 10:25:12

标签: r

我正在编写一个函数来自动读取几个数据帧的列。我想要访问的列的名称和位置有时会有所不同

作为可重复的例子:

a= c(1:3)
b= c(4:6)
A = data.frame(a,b)
colnames(A) = c("column1", "column2")

B = data.frame(b,a)
colnames(B) = c("col1", "col2")

现在我想访问值a,例如:

`$`(A, "column1"|"col2")

因为逻辑运算符不适用于字符,所以我尝试使用

A[,which(colnames(A[,1]) == "column1" | names(A[,2]) =="col2")]

但似乎colnames() - 函数不起作用。 有没有人知道如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

尝试使用grep。它适用于AB

A[, grep("column1|col2", names(A))]
#[1] 1 2 3

B[, grep("column1|col2", names(B))]
#[1] 1 2 3