根据该行中另一个单元格的值更改数据框单元格中的值 (R)

发布于 2025-01-17 15:33:13 字数 345 浏览 1 评论 0原文

假设我有一个数据框,

Name | Cat_1 | Val 2
---------------------
A    | red   | 0
---------------------
B    | blue  | 1
---------------------
C    | green | 2
---------------------

我想更改符合不同单元格中给定条件的行Val 2列的值。

例如,如果其CAT_1等于“蓝色”,则如何将行的Val_2值更改为10?我不想使用if语句或循环,我觉得有一种方法可以使用dplyr或其他东西(我使用r fyi)。让我知道您是否可以提供帮助!谢谢你!

Let's say I have a data frame

Name | Cat_1 | Val 2
---------------------
A    | red   | 0
---------------------
B    | blue  | 1
---------------------
C    | green | 2
---------------------

I want to change the value of the Val 2 column for the row that meets a given condition in a different cell.

For example, how would I change the Val_2 value for a row to 10 if its Cat_1 is equal to "blue"? I don't want to use an if statement or for loop, I feel like there is a way to get this using dplyr or something (I am using R FYI). Let me know if you can help! Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清浅ˋ旧时光 2025-01-24 15:33:13

您可以尝试case_when

library(dplyr)

df %>%
  mutate(Val_2 = 
     case_when(
       Cat_1 == ”blue” ~ 10,
       Cat_1 == ”green” ~ 5,
       Cat_1 == ”red” ~ 3)
    )

You may try case_when:

library(dplyr)

df %>%
  mutate(Val_2 = 
     case_when(
       Cat_1 == ”blue” ~ 10,
       Cat_1 == ”green” ~ 5,
       Cat_1 == ”red” ~ 3)
    )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文