这看起来相当简单,我需要从R中的数据文件中只读取奇数行,并创建一个新的数据帧。我怎样才能做到这一点?
答案 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),]