使用dplyr

时间:2016-05-26 11:29:21

标签: r dplyr kaggle

我有一个包含国家名称的数据集,如下所示:

 - en:france
 - en:united-kingdom
 - en:spain

我想将名称更改为:

 - France
 - United_Kingdom
 - Spain

但如果我将select函数与dplyr一起使用,我会收到此错误:

  

" eval(expr,envir,enclos)中的错误:object' en'找不到"。

这是我到目前为止编写的代码(使用Kaggle called foodfacts中的数据框):

countries <- foodfacts %>%
         tbl_df() %>%
         group_by(countries_tags) %>%
         summarise(count = n()) %>%
         filter(!grepl(",", countries_tags)) %>%
         select(France = en:france) %>%
         arrange(desc(count))

有人能告诉我如何更改包含冒号的对象的名称吗?

1 个答案:

答案 0 :(得分:1)

select_仅选择列。如果列名称有冒号,您可能必须使用select_("en:france")并引用列名:filter

如果您需要案例,则必须使用== - 但请注意,该比较需要=,而不是罪行filter(France == "en:france")(如上面的选择调用中所示):{{ 1}}

如果您需要重命名,请使用colnames(dat)[which(colnames(dat) == "en:france")] <- "France"

如果您需要重命名,还可以使用dat$x[which(dat$x == "en:france")] <- "France"