在for循环中误解if语句

在for循环中误解if语句,r,if-statement,for-loop,levels,R,If Statement,For Loop,Levels,我对R比较陌生,我想不出一种让我的代码工作的方法。我有一个荷兰所有城市的数据集,我只想打印我的列表中名为b的城市。如果我使用df[I]在数据帧内选择一个数字,它也包含级别。如果没有这些级别,它会工作吗 df包含荷兰和荷兰的所有市政名称 b是一份经过改造的市政当局名单 df <- mun_neth$GM_NAAM b <- list(gem_her$Nieuwe.gemeente) for(i in df){ a <- df[i] if(a in b){ pri

我对R比较陌生,我想不出一种让我的代码工作的方法。我有一个荷兰所有城市的数据集,我只想打印我的列表中名为b的城市。如果我使用df[I]在数据帧内选择一个数字,它也包含级别。如果没有这些级别,它会工作吗

df包含荷兰和荷兰的所有市政名称 b是一份经过改造的市政当局名单

df <- mun_neth$GM_NAAM
b <- list(gem_her$Nieuwe.gemeente)
for(i in df){
  a <- df[i]
  if(a in b){
     print(a)
}}

df正确的语法应该是(仔细阅读每一行并与您的进行比较。)


您的代码有几处错误。你是否可能想要
mun_neth$GM_NAAM[mun_neth$GM_NAAM%in%gem_her$Nieuwe.gemeente]
?一般来说:关闭的人,请评论为什么不清楚,因此作者有机会编辑他的问题。显然,并非所有人都认为这一点不清楚。我想,问题、答案和评论确实勾勒出一幅非常清晰的画面。谢谢你的快速反应。Intersect的作品和罗兰在评论中的作品。但是for循环不起作用,实际上这也是我以前尝试过的。由于以后的添加,我想遍历各个城市,所以请保持for循环。非常感谢,它已经非常有用了,但是还有进一步的建议吗?如果您有一些因素,请尝试将
a
和/或
b
包装在
中作为.character()
。等等,为什么
b
是一个列表而不是一个向量?试着做
b非常感谢你,弗洛德尔@Zuenie,很乐意帮忙。如果这解决了你的问题,请考虑通过点击左边的刻度标记来接受答案。
df <- mun_neth$GM_NAAM
b <- gem_her$Nieuwe.gemeente
for(a in df){
  if(a %in% b){
     print(a)
}}
intersect(df, b)