簡體   English   中英

在 R dplyr 中,根據其在另一列中的值重命名一個值

[英]In R dplyr, rename a value based on its value in another column

我確信之前有人問過這個問題,但我真的很感激任何幫助,因為我有點困惑。

在 R 中,我有一個 dataframe,其中包含植物的拉丁名稱及其通用名稱的行。 使用 dplyr,如果拉丁名稱等於特定名稱,我想更改通用名稱。

即如果 Latin_name == 'xyz',將 Common_name 重命名為 'abc'

我想我知道如何使用 mutate() function 來做到這一點,但這會添加一個全新的列——我更願意重命名原始列中的值。 任何幫助都會很棒,非常感謝。

使用dplyr

your_data %>%
  mutate(Common_name = case_when(
    Latin_name == 'xyz' ~ 'abc',
    TRUE ~ Common_name)
  )

在基地 R 中:

your_data[your_data$Latin_name == 'xyz', 'Common_name'] <- 'abc'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM