从R中的多个文本文件中提取第一行

时间:2015-03-14 09:16:28

标签: r dataframe extract

我想从文本文件中提取单行,并根据“id”的更改将它们放入新表中。

例如,我希望第1,53和87行与我的新表分开 由于我有这么多文件,因此手动执行会非常耗时。

有没有办法用R?

来做到这一点
"row.name" "date"   "latitude"  "longitude" "depth" "id"
"1" "2014-12-10 17:37:23"   -38.6219483442355   142.930328034342    0   "0005"
"2" "2014-12-10 17:37:27"   -38.6219774268193   142.930269244481    0   "0005"
...
"53" "2014-12-10 17:37:31"  -38.6220065094031   142.93021045462     0   "0009"
"54" "2014-12-10 17:37:35"  -38.6220355919869   142.930151664759    0   "0009"
"55" "2014-12-10 17:37:39"  -38.6220646745707   142.930092874898    0.61"0009"
...
"87" "2014-12-10 17:37:47"  -38.6221228397384   142.929975295176    0   "0018"
"89" "2014-12-10 17:37:51"  -38.6221519223222   142.929916505315    0   "0018"

1 个答案:

答案 0 :(得分:0)

使用您的数据框,您可以使用dplyr按ID分组,然后使用summarise功能,调用head并让它只选择第一行(而不是默认6)。这是一个玩具的例子。

df <- data.frame(id = c("0005", "0005", "0009", "0009", "0009"), content = c(1:5))
df$id <- as.factor(df$id)

df %>% group_by(id) %>% summarise(single = head(content, 1))
Source: local data frame [2 x 2]

    id single
1 0005      1
2 0009      3
相关问题