首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R- Mutate并不是所有的值都是变异的。

R- Mutate并不是所有的值都是变异的。
EN

Stack Overflow用户
提问于 2022-08-05 15:19:38
回答 1查看 28关注 0票数 0

我试图看看是否有一种方法可以组合代码行,当我根据另一个值变异多个值时。但是,当我使用c()作为列表时,并不是所有的值都在变异,只有一些。还有什么事情我需要做,还是我需要让每一个变异在一个单独的线上?

示例数据:

代码语言:javascript
运行
复制
Category <- c("Additional Fees", "Additional Fees", "None", "None", "Package", "None")
Item <- c("20oz Upgrade", "Ice Cream", "20oz Upgrade", "Ice Cream", "Ice Cream", "20oz Upgrade")
df <- data.frame(Category, Item)

能工作的更长的代码

代码语言:javascript
运行
复制
df2 <- df %>% 
  mutate(Category = ifelse(Item == "20oz Upgrade", "Additional Fees", Category)) %>% 
  mutate(Category = ifelse(Item == "Ice Cream", "Additional Fees", Category))

组合变异--但不是所有的值都是变异的--我想使用它(类别的第5行和第6行对我来说不是变异的)。

代码语言:javascript
运行
复制
df1 <- df %>% 
  mutate(Category = ifelse(Item == c("20oz Upgrade", "Ice Cream"), "Additional Fees", Category))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 15:24:30

您需要使用%in%而不是==,因为您正在检查一个项是否位于一个向量为2的向量中,而不是等于:

代码语言:javascript
运行
复制
df |> mutate(Category = ifelse(Item %in% c("20oz Upgrade", "Ice Cream"), "Additional Fees", Category))

输出:

代码语言:javascript
运行
复制
         Category         Item
1 Additional Fees 20oz Upgrade
2 Additional Fees    Ice Cream
3 Additional Fees 20oz Upgrade
4 Additional Fees    Ice Cream
5 Additional Fees    Ice Cream
6 Additional Fees 20oz Upgrade
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73251974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档