重命名dataframe的列并使用该名称访问它们

重命名dataframe的列并使用该名称访问它们,r,dataframe,rename,R,Dataframe,Rename,我有一个向数据帧添加几列的循环 我知道如何用colname重命名列,但我不能使用这些新名称访问这些列 例如,我在框架中添加了一列数字为22的列 units = 10 my.frame[units+1] = 22 我可以使用以下命令重命名此列: colnames(my.frame)[units+1] = "twentytwo_column" 但是如果我想在代码后面的某个地方访问这个专栏,我必须这样做: my.frame[units+1] my.frame[twentytwo_column]

我有一个向数据帧添加几列的循环

我知道如何用colname重命名列,但我不能使用这些新名称访问这些列 例如,我在框架中添加了一列数字为22的列

units = 10
my.frame[units+1] = 22
我可以使用以下命令重命名此列:

colnames(my.frame)[units+1] = "twentytwo_column"
但是如果我想在代码后面的某个地方访问这个专栏,我必须这样做:

my.frame[units+1]
my.frame[twentytwo_column]
如果我能像这样访问它,它将增加可理解性:

my.frame[units+1]
my.frame[twentytwo_column]

有什么方法可以做到这一点吗?

您应该仔细阅读基本的对象提取(请参阅
?提取

您需要在括号中添加逗号(和引号)以从data.frame中提取列:
my.frame[,units+1]
my.frame[,“twentytwo_column”]

另外,通常在data.frame上使用
names
而不是
colnames

当然:
my.frame[“twentytwo_列”]
my.frame$twentytwo_列