r-清洁列,上面可以获取最后一个名称,以便我可以从数据框架中过滤它



我很困惑。我的问题是我想从给定的列中获取特定名称。但是,当我尝试过滤它们时,我会得到大多数名称,即使我可以在原始Excel文件中清楚地看到它们的名称。我认为它必须在名称列中执行某种特殊字符或间距。我对如何解决此问题感到困惑。

我尝试使用Excels Clean((函数将其应用于给定的列。我已经尝试使用Alteryx流以清洁数据。所有这些步骤都没有帮助。我开始怀疑这是否是R问题。

surveyData %>% filter(`Completed By` == "Spencer,(redbox with whitedot in middle)Amy")
surveyData %>% filter(`Completed By` == "Spencer, Amy")

在r中,第一行的红色盒子在逗号和名字之间带有白点。我将这个带有白点的红色盒子从数据框中复制并将其复制到记事本中,然后将其粘贴到r中。这实际上有效并返回我想要的东西。现在,第二种情况是一个不返回我想要的标准空间。因此,如何通过不必从数据框架复制名称并将其复制到记事本,然后将其从记事本复制到r来解决此问题,然后将结果复制到r上,该结果在逗号(,(和名字之间的红色框中带有白点。

预期的结果是,我得到了我过滤的任何名称的行。

我能够找到答案,事实证明,与普通空间Unicode(u 0020(相比,空间实际上是一个unicode(u 00a0(的休息空间。休息空间并不是美国信息互换标准守则(ACSII(的不同之处。因此,R Filter((无法抓住某些名称,因为它们有断空的空间。我通过用Unicode的Unicode将其用于正常空间并将其应用于我给定的列来修复。下面的示例:

 space_fix = gsub("u00A0", " ", surveyData$`Completed By`, fixed = TRUE) #subbing break space unicode with space unicode for the given column I am interested in
surveyData$`Completed By Clean` = space_fix 

一次,我应用了这个,我可以轻松地过滤任何名称!

谢谢大家!

相关内容

最新更新