按列名引用变量

Gün*_*nal 0 r

比方说我有一个矩阵,X我需要在R中使用它.我使用colnames命令命名每一列.但是,当我键入列的名称时,没有任何内容出现.为了说明,我使用了如下代码:

colnames(X) <- c("column1","column2")
Run Code Online (Sandbox Code Playgroud)

当我键入X,column1column2出现在列的顶部.但是,当我输入column1或者column2,它们无法找到.

有谁知道需要做什么?

Señ*_*r O 5

这是一个相当基本的部分R,当你有一个列名,行名,列表元素名等时,你必须告诉R对象首先查看内部.

在您的情况下,您必须这样做:

X[,"column1"] 
Run Code Online (Sandbox Code Playgroud)

得到column1.

更适合您的选择是data.frame:

X <- data.frame(Column1 = c(....), Column2 = c(....))
X$Column1 #Returns "Column1"
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,你现在正确地告诉R寻找column1内部命名的东西X.

正如Matthew在下面所述,如果您需要在column不参考的情况下打电话X,您可以attach(X)先使用.大多数人倾向于避免这种情况,因为它会创建元素的新副本 - 如果你最终改变,那么这可能会变得混乱column1