从.csv文件中读取给我一个向量,而不是数据帧?

时间:2015-06-19 19:15:22

标签: r csv

我是R的新手,我正在努力从.csv文件导入数据。

具体来说,我试图提取31个回复,一些" 1",一些" 2",一些" 3"以及一些" 4& #34;来自.csv文件。该数据位于标题Q21

之下

所以我尝试了:

c <- mydata["Q21"] #because (mydata$21) gave an "$ operator is invalid for atomic vectors response 

但那刚刚回来了 [1] NA

我正在寻找31个整数响应。

不知道我做错了什么。当我用这种语言站起来时,真的很感激任何和所有的帮助。

编辑:

str(mydata)收益率 chr&#34; /Users/charles/Documents/Work/Survey/CSV/Acme_Company.csv"

我确实使用了read.csv(mydata)并且它产生了所有内容,它似乎有像Q20这样的列标题。

当我输入c&lt; - mydata $ Q21(这是我之前写过的拼写错误)时,我得到了: mydata $ Q21中的错误:$运算符对原子矢量无效

  

MYDATA [1:3,]   mydata [1:3,]中的错误:维数不正确

     

is.data.frame(MYDATA)   [1]错误

     

colnames(MYDATA)   NULL

     

mydata [,&#34; Q21&#34;]   mydata中出错[,&#34; Q21&#34;]:维数不正确

所以我不知道 - mydata不是一个数据框,对吧?那么如果我想使用其中的信息该怎么办?

1 个答案:

答案 0 :(得分:0)

听起来mydata不是数据帧而是向量;所以read.csv()没有给你一个数据帧。 (发布用于读取数据的命令,然后发布str(mydata)的输出。)

  

(mydata $ 21)给出了“$运算符对原子矢量响应无效

这是你的错误,你的意思是mydata$Q21mydata$21正在尝试访问名为21而不是Q21的列。更仔细地阅读您的错误消息; - )

  

mydata [“Q21”]刚刚返回[1] NA

首先,检查mydata是否确实有一个名为Q21的列。向我们展示colnames(mydata)

其次,要获得一个列的片段,您需要mydata[, "Q21"],您绝对需要前导逗号,这表示逗号之后的内容是列名或索引。