【问题标题】:Read odd numbered rows from csv file从 csv 文件中读取奇数行
【发布时间】:2014-01-08 18:05:12
【问题描述】:

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

【问题讨论】:

    标签: r csv


    【解决方案1】:
    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)

    【讨论】:

    • 很好,但它尖叫着“在顶部添加评论”来解释它在做什么。
    • @nico 我添加了解释。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-12-10
      • 2014-01-07
      • 2019-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多