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

时间:2016-01-14 01:22:51

标签: regex r tidyr stringr

我在数据框中有四列数据。这些列指定记录(行)是否位于伦敦的4个不同部分,根据北/南/东/西分割(NO记录存在于多于一列中),因此(第一行是列标题) :

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()中找不到一个参数来忽略NAs并想知道这是否可能?最糟糕的情况是,有人可以帮我一个简单的额外的正则表达式/ str_extract,这将帮助我将北,南,东或西四个单词提取到一个单独的列中吗?

目标是:

adminarea
South
East
North

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

尝试使用:

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

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