我想从文本文件中提取单行,并根据“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"
答案 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