我想知道如何选择这些地块,我将树木“HB”和“KU”放在一起?
这是我的数据集的一个示例:
plot ID tree
1 10000503711 LV
2 1000057448111 LV
3 1000057448111 HB
4 1000057448111 KU
5 10000603711 LV
6 1000063448111 TM
7 1000063448111 KS
所以结果应该是这样的(它不应该从我的数据集中删除其他树种,但它应该选择那些有“KU”和“HB”的地图ID-s):
2 1000057448111 LV
3 1000057448111 HB
4 1000057448111 KU
请注意,某些图表中有多棵树在生长,每个图表会产生多行。有些地块只有一种树种。
感谢您的帮助!
答案 0 :(得分:2)
使用dplyr
可以做到这一点。但也可以使用聚合。
编辑:使用新数据集来处理包含HB和KU的测试用例。
options(scipen = 50)
library(dplyr)
ss <- read.table(text = " plot ID tree
1 10000503711 LV
2 1000057448111 LV
3 1000057448111 HB
4 1000057448111 KU
5 10000603711 LV
5 10000603711 HB
6 1000063448111 TM
7 1000063448111 KS", header = T)
ss %>%
group_by(ID) %>%
mutate(trees = paste0(tree, collapse = "_")) %>%
filter(grepl('HB_KU|KU_HB',trees)) %>% distinct(ID) %>%
inner_join(.,ss)
输出:
Joining, by = "ID"
# A tibble: 3 x 3
# Groups: ID [?]
ID plot tree
<dbl> <int> <fctr>
1 1000057448111 2 LV
2 1000057448111 3 HB
3 1000057448111 4 KU
答案 1 :(得分:2)
这是一个基本解决方案。
for($i=0;$i<count($array);$i++){
unset($array[$i]['read_status']);
}