从csv文件中读取奇数行

时间:2014-01-08 18:05:12

标签: r csv

这看起来相当简单,我需要从R中的数据文件中只读取奇数行,并创建一个新的数据帧。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:15)

read.csv("filename.csv")[c(TRUE, FALSE), ]

工作原理:

函数read.csv用于读取整个文件并返回包含所有行的数据框。然后,[x, ]用于从数据帧中提取某些行。如果c(TRUE, FALSE)(2)的向量长度低于数据帧的行数,则向量值将被循环,直到向量的长度与行数匹配。如果数据帧具有例如5行,则向量是c(TRUE, FALSE, TRUE, FALSE, TRUE)。将选择与TRUE对应的所有行。因此,这将选择具有奇数行号的行。

顺便说一句:如果您想选择偶数行号,可以使用c(FALSE, TRUE)

答案 1 :(得分:4)

最简单的方法是读取整个文件,然后只得到奇数行。

df <- read.csv("filename.csv")
df <- df[seq(1, nrow(df), 2),]