dplyr筛选变量及匹配值出错,是否需改用match()函数?
问题解决:dplyr filter无数据返回的原因及修复方案
你的代码问题出在filter的条件写法上——你把变量名Interaction_Type用单引号包裹了,这时候实际是在比较**字符串'Interaction_Type'**和"print",这两个值永远不相等,所以过滤后没有数据返回。
完全不需要改用match()函数,只需要修正filter的写法即可,同时注意字符串匹配的大小写(你要找的是"Print",但原代码里写的是"print",R默认区分大小写):
df2 <- df1 %>% select(Interaction.ID, Name.ID, Created.At, Interaction_Type) %>% filter(Interaction_Type == "Print")
额外提示:
select里的变量名可以直接写,不用加单引号和c(),dplyr支持这种更简洁的写法- 如果你的数据里
Interaction_Type的值大小写不统一,也可以用tolower(Interaction_Type) == "print"来忽略大小写匹配
内容的提问来源于stack exchange,提问作者jsaab
相关产品推荐
相关产品推荐

