R 根据应用于列表项的条件获取df子集
我想在项目组上循环,并使用它来检查子集数据帧的条件。我的代码现在抛出错误。我想检查en_nam1中的每个项目是否都通过了en1$attributes==item。如果它通过了条件,那么我想选择该行并添加另一个要返回的数据帧。多谢各位R 根据应用于列表项的条件获取df子集,r,dataframe,tibble,R,Dataframe,Tibble,我想在项目组上循环,并使用它来检查子集数据帧的条件。我的代码现在抛出错误。我想检查en_nam1中的每个项目是否都通过了en1$attributes==item。如果它通过了条件,那么我想选择该行并添加另一个要返回的数据帧。多谢各位 A tibble: 3 x 2 attributes models <chr> <list> 1 AT01S <chr [2]> 2 AT02S <chr [2]> 3
A tibble: 3 x 2
attributes models
<chr> <list>
1 AT01S <chr [2]>
2 AT02S <chr [2]>
3 AGG101 <chr [1]>
4 AGG102 <chr [1]>
5 AGG103 <chr [1]>
6 AGG104 <chr [1]>
en_nam1
[1] "AT01S" "AT02S" "AGG101"
My code:
en_nam1 %>%
+ map(~subset(en1, en1$attributes == .x))
Expected result:
A tibble: 3 x 2
attributes models
<chr> <list>
1 AT01S <chr [2]>
2 AT02S <chr [2]>
3 AGG101 <chr [1]>
A tibble:3 x 2
属性模型
1 AT01S
2 AT02S
3 AGG101
4 AGG102
5 AGG103
6 AGG104
en_nam1
[1] “AT01S”“AT02S”“AGG101”
我的代码:
en_nam1%>%
+映射(~子集(en1,en1$attributes==.x))
预期结果:
一个tibble:3x2
属性模型
1 AT01S
2 AT02S
3 AGG101
这里不需要循环。在%
library(dplyr)
en1 %>%
filter(attributes %in% en_nam1)
或基本R
subset(en1, attributes %in% en_nam1)
代码有什么问题使用
en1%>%filter(属性%in%en\u nam1)
或子集(en1,属性%in%en\u nam1)
@akrun Ahhh!!!完美的谢谢你。@akrun我搞错了。错误:必须使用有效的下标向量子集行。如果en_nam1
是向量对象名称,而en1
是数据集,则不清楚为什么会出现错误