我有一个包含国家名称的数据集,如下所示:
- 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))
有人能告诉我如何更改包含冒号的对象的名称吗?
答案 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"
。