R中的read.csv()不生成向量

时间:2014-03-12 01:28:09

标签: r

我正在尝试使用

在R中加载data.csv
S<-read.csv(file="data.csv")

由于它是一个没有标题的单列数字(我相信标签消除),我希望S是一个向量。但S显示为

    X40.87
1    40.69
2    40.94
...   ...

(数字40.87,40.69 ......是我的数字。)。 要访问第三个数字,我需要调用S [2,1]。为什么不是S [3]?

3 个答案:

答案 0 :(得分:1)

使用scan()

S <- scan("file.csv")
S[3]
# 40.94

或者,正如billinkc所说,您可以使用read.csv("file.csv", header=FALSE)read.table("file.csv"),因为分隔符与单列文件无关。

答案 1 :(得分:1)

由于您的CSV没有标题,因此您需要在打开文件时将其指示为解释器将第一行指定为列名称。

因此输入文件如

40.87
40.69
40.94

我用你使用的相同逻辑打开它

> s <- read.csv(file="~/Documents/r/data.txt",header=FALSE)
> s
     V1
1 40.87
2 40.69
3 40.94

参考

答案 2 :(得分:1)

如果您真的只想要一个矢量,请将1列数据帧的子集:

read.csv(file="data.csv", header=FALSE)[,1]

这是因为参数drop采用默认TRUE删除空维(在此列信息中)。