【发布时间】:2014-01-08 18:05:12
【问题描述】:
这看起来很简单,我只需要从 R 中的数据文件中读取奇数行并创建一个新的数据框。我怎样才能做到这一点?
【问题讨论】:
这看起来很简单,我只需要从 R 中的数据文件中读取奇数行并创建一个新的数据框。我怎样才能做到这一点?
【问题讨论】:
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)。
【讨论】:
最简单的方法是读取整个文件,然后只获取奇数行。
df <- read.csv("filename.csv")
df <- df[seq(1, nrow(df), 2),]
【讨论】: