使用dplyr突变多列中的数据

时间:2019-06-29 10:56:30

标签: r dplyr

这是对先前问题(Performing transformation for multiple columns in one go in R)的更新问题;建议的解决方案现在会引发错误(请参见下文)。

我有一个数据框,其中有多列用于字形标签,如下面的模拟示例所示:

df <- data.frame(
    w1 = c("NN1", "NN0", "AJ0", "AJC", "NP0", "VVZ"),
    w2 = c("NN0", "NN2", "AJC", "NN0", "VBN", "NN1"),
    w3 = c("AJ0", "NN2", "NP0", "VVG", "AJS", "NN1"),
    w4 = c("NN2", "NN2", "AJ0", "AJ0", "AJS", "VVD")
  )

我需要使用更广泛的描述对标签进行重新分类,例如单数名词的“名词”(标记为“ NN1”),复数名词(“ NN2”),专有名词(“ NP0”)等。 先前建议的一种解决方案是基于dplyr的:

 df %>% mutate_all(funs(case_when(
  grepl("^N", .) ~ "noun",
  grepl("^V", .) ~ "verb",
  grepl("^A", .) ~ "adjective",
  TRUE           ~ "Other"
)))

当时效果很好,但现在不再有效;它会引发此错误:

Error in mutate_impl(.data, dots) : 
  Evaluation error: `as_dictionary()` is defunct as of rlang 0.3.0.
Please use `as_data_pronoun()` instead.

任何人都可以帮助:重新使代码正常工作需要做什么?

0 个答案:

没有答案