使用read.csv只读取三列中的两列


12

我有一个由三列组成的ascii数据集,但是只有最后两列是实际数据。现在,我想使用创建一个数据点图read.csv(file = "result1", sep= " ")。R读取所有三列。如何避免这种情况?


5
我将其保留在此处,但请在StackOverflow上询问以后的基本R问题。

实际上,当前的共识似乎是现在简历中欢迎R问题。我现在找不到讨论,但是它在meta.stats.stackexchange.com中
2013年

Answers:


20

您可以使用colClasses参数read.csv选择所需的列。在这种情况下,您可以设置colClassesc("NULL", NA, NA)

read.csv(file="result1", sep=" ", colClasses=c("NULL", NA, NA))

更一般地,您可以使用colClasses来指定列的特定类型。NA表示使用默认方法,即尝试找出该列是自动的。有关read.csv更多详细信息,请参见帮助页面。


11

另一种选择是读入整个文件,但仅保留其中两列,例如:

read.csv(file = "result1", sep = " ")[ ,1:2]

或者,使用列名,例如。如果列名为“ col1,col2,col3”

read.csv(file = "result1", sep = " ")[ ,c('col1', 'col2')]

与您相比,@ Brian的回答花费的时间更少。
Haroon Rashid

0

与提供的答案相比,此时间花费更少的时间

library(data.table)
fread(file="result1", sep=" ", colClasses=c("NULL", NA, NA))
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.