仅保留“ groups”,其中列中的列中至少有2个元素在r中存在
我有一个列表,例如:
The_list=c('SP1','SP2','SP3')
我有一个数据框架,例如
Names Groups
SP1 G1
SP2 G1
SP3 G1
SP1 G2
SP4 G3
SP5 G4
SP2 G5
SP3 G5
SP6 G5
SP2 G6
SP7 G6
,我只想保留groups
,其中名称中的至少2个元素
在the_list中存在
;
我应该得到:
Names Groups
SP1 G1
SP2 G1
SP3 G1
SP2 G5
SP3 G5
SP6 G5
如果可以有帮助的话,这是DF
structure(list(Names = c("SP1", "SP2", "SP3", "SP1", "SP4", "SP5",
"SP2", "SP3", "SP6", "SP2", "SP7"), Groups = c("G1", "G1", "G1",
"G2", "G3", "G4", "G5", "G5", "G5", "G6", "G6")), class = "data.frame", row.names = c(NA,
-11L))
I have a list such as :
The_list=c('SP1','SP2','SP3')
And I have a dataframe such as
Names Groups
SP1 G1
SP2 G1
SP3 G1
SP1 G2
SP4 G3
SP5 G4
SP2 G5
SP3 G5
SP6 G5
SP2 G6
SP7 G6
And I would like to keep only Groups
where at least 2 element in Names
are present within The_list
;
Here I should get:
Names Groups
SP1 G1
SP2 G1
SP3 G1
SP2 G5
SP3 G5
SP6 G5
Here is the df if it can helps
structure(list(Names = c("SP1", "SP2", "SP3", "SP1", "SP4", "SP5",
"SP2", "SP3", "SP6", "SP2", "SP7"), Groups = c("G1", "G1", "G1",
"G2", "G3", "G4", "G5", "G5", "G5", "G6", "G6")), class = "data.frame", row.names = c(NA,
-11L))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
data.table
-output
Using
data.table
-output
您可以使用的一种解决方案是
校正...因为我在%the_list中使用名称%
它不能唯一地识别每个名称,这可能会导致某些组
由于重复名称而显示。
One solution you can use is
Correction... because I'm using Names %in% The_list
it does not uniquely identify each Name, which may cause some groups
to be displayed because duplicate names.