r - R名称()没有看到所有变量
问题描述
我有一个数据框'prog',我想更改变量的名称。我可以查看“prog”并看到它有 3 个变量,但是当我尝试使用“names()”重命名这些变量时,我收到一条错误消息,说我必须将参数的数量与“prog”的长度相匹配' 它声称是 2。我对 R 很陌生,并假设我正在以一种糟糕的方式创建 'prog',但我不知道具体如何。
prog <-
pro %>%
group_by(totexp_rng) %>%
summarize(sqrt(var(food_t))*1.2816)
prog <-
prog %>%
mutate(
totexp_rng = pro %>%
group_by(totexp_rng) %>%
summarize(mean(food_t))
)
names(prog) <- c("totexp_rng","mean","to90")
解决方案
那是因为您将数据框/小标题保存在totexp_rng
. 这不是使用dplyr
.
您应该始终在summarise
/mutate
调用中命名变量,这将避免以后需要重命名变量。summarise
此外,您可以在/中应用多个函数,mutate
因此您可以将代码简化为 -
library(dplyr)
prog <- pro %>%
group_by(totexp_rng) %>%
summarize(to90 = sqrt(var(food_t))*1.2816,
totexp_rng = mean(food_t))