gpt4 book ai didi

r - 如何重命名R中变量的值?

转载 作者:行者123 更新时间:2023-12-04 07:55:08 25 4
gpt4 key购买 nike

所以我有一个名为“Answer”的变量,可能的输出是“y”“n”和“m”,但我想将它们重命名为“Yes”“No”和“Maybe”(分别)。我一直在尝试这个,但我无法得到它。

我的代码如下所示:

question_data %>%
group_by(Answer) %>%
summarise(
Yes = "y",
No = "n",
Maybe = "m"
)

谁能告诉我我做错了什么/我应该做什么?我正在使用 tidyverse,如果这有帮助的话。感谢您的帮助,我很沮丧。

最佳答案

如果只是重新编码或更改列的值,我们使用 mutate并且不需要group_bysummarise (summarise 在单行中返回汇总输出(如果已分组,则每组一行 - 在大多数情况下)

library(dplyr)
question_data <- question_data %>%
mutate(Answer = recode(Answer, y = 'Yes', n = 'No', m = 'Maybe' ))

-输出

question_data
# Answer
#1 Yes
#2 No
#3 Maybe
#4 No
#5 Yes
#6 Maybe

base R , 我们可以使用 factorlevelslabels以相同的顺序指定

with(question_data, factor(Answer, 
levels = c('y', 'n', 'm'), labels = c("Yes", "No", "Maybe")))

或者用命名向量来匹配替换

setNames(c('Yes', 'No', 'Maybe'), c('y', 'n', 'm'))[question_data$Answer]

数据

question_data <- data.frame(Answer = c('y', 'n', 'm', 'n', 'y', 'm'))

关于r - 如何重命名R中变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66736264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com