使用 R 和 tidyr() 从 NA 中提取文本

Extracting text from NAs using R and tidyr()

我在一个数据框中有四列数据。这些列根据 north/south/east/west 拆分指定记录(行)是否位于伦敦的 4 个不同部分(没有记录出现在多个列中),因此(第一行是列 header):

North    South     East    West
NA       South     NA      NA
NA       NA        East    NA
North    NA        NA      NA

我想将它们用作图表中的一个因素,所以我使用 tidyr 将它们连接起来

LondonNew <- unite(London,"adminarea",North:West,sep="",remove=FALSE)

,所以我现在有一个名为 adminarea 的附加列:

adminarea
NASouthNANA
NANAEastNA
NorthNANANA

我在 tidyr() 中找不到忽略 NA 的参数,想知道这是否可能?最坏的情况,有人可以帮我做一个简单的附加 regex/str_extract 来帮助我将北、南、东或西这四个词提取到一个单独的列中吗?

目标是:

adminarea
South
East
North

非常感谢您的帮助。

尝试使用:

LondonNew$adminarea <- gsub('NA', '', LondonNew$adminarea)

由于组合字符串的特殊性,这将起作用。如果 NA 是该列中的有效字符序列,则不会。