标题不';不存在于R中

标题不';不存在于R中,r,read.csv,R,Read.csv,我导入了一个带有read_CSV()的CSV文件。当我使用colnames()时。“R1_成本”列按其应有的方式显示 colnames(AustinParPulse) [1] "Respondent" "Employed" "StayHome" "R1_Cost" 但是,当我使用 exists("R1_Cost") [FALSE] 我还使用了 read.csv("AustinParPulse.csv", headers = TRUE,

我导入了一个带有read_CSV()的CSV文件。当我使用colnames()时。“R1_成本”列按其应有的方式显示

colnames(AustinParPulse)
[1] "Respondent"      "Employed"        "StayHome"        "R1_Cost"         
但是,当我使用

exists("R1_Cost")
[FALSE]
我还使用了

read.csv("AustinParPulse.csv", headers = TRUE, stringsAsFactors = FALSE)
但我还是会

exists("R1_Cost")
[FALSE]
即使当我投入

exists(AustinParPulse$R1_Cost)
[错误]

有人能给我指出正确的方向吗


谢谢。

标题确实存在。您的第一个命令,
colnames
,告诉您这一点

exists
用于不同的目的:确定当前环境中是否存在具有给定变量名的对象。例如,在您的例子中,
存在(AustinParPulse)
真的

列名是与数据帧相关的变量名,而不是环境中的对象。

存在(“R1成本”)
将检查是否存在名为“R1成本”的变量。您可能会想象您可以使用
exists(“AustinParPulse$R1\u成本”)
,但这也不起作用,因为这是在寻找一个名为(“AustinParPulse$R1\u成本”)的变量,而没有。要执行您试图执行的操作,您需要使用
where
参数

 exists("R1_Cost", where=AustinParPulse)

?exists
-“查找给定名称的R对象,并可能返回它”。您没有名为
R1\u Cost
的对象。但是您确实有一列这样的名称,如
colnames
所示。所以问题是
exists
不用于检查列名。我不会提及
attach(AustinParPulse)exists(“R1_Cost”)
,因为它纯粹是邪恶的。我如何将它变成一个对象?这将使编写R1_成本与AustinParPulse$R1_成本的代码变得更容易。几乎可以肯定,您不需要将其作为单独的对象来完成您想做的任何事情。但你可能确实需要学习如何使用数据帧,这对R来说是非常基本的。@neilfws,你是对的。我认为当我加载csv文件时,它是因为一个数据帧。加载csv文件后是否需要将其设置为数据帧?