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

机器算法验证 r
2022-03-05 22:11:16

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

3个回答

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

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

更一般地说,您可以使用 colClasses 指定特定类型的列;NA意味着使用默认方法,即尝试自动找出列是什么。read.csv有关详细信息,请参阅帮助页面。

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

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

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

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

与提供的答案相比,这需要更少的时间

library(data.table)
fread(file="result1", sep=" ", colClasses=c("NULL", NA, NA))