[英]change value in a column of a table based on a reference
我有一個關於根據參考更新某些行中的值的基本問題。 我相信其他人也問過類似的問題,但我找不到確切的答案。 以下是我的問題的描述。 如果有人可以在這里提出答案鏈接或提供解決方案,那就太好了。 先感謝您。
我有一個超過 10,000 行的表,如下所示:
Quality City
a1 pending NY
a2 pending LA
a3 pending LA
a4 pending SF
a5 pending SF
a6 pending NY
a7 pending Chicago
...
a10000 pending DC
我想根據參考的子集更新“質量”列中的名稱,如下所示:
Quality City
a1 bad NY
a3 good LA
a5 good SF
a6 bad NY
...
a200 good Chicago
這是我正在尋找的結果:
Quality City
a1 bad NY
a2 pending LA
a3 good LA
a4 pending SF
a5 good SF
a6 bad NY
a7 pending Chicago
...
a200 good Chicago
...
a10000 pending DC
我們可以使用left_join
library(dplyr)
left_join(df1, df2, by = 'City') %>%
mutate(Quality = Quality.y)
我們可以做一個full_join
,然后coalesce
質量列:
library(tidyverse)
df1 %>%
rownames_to_column("id") %>%
full_join(rownames_to_column(df2, "id"), by=c("id", "City")) %>%
mutate(Quality = coalesce(Quality.y, Quality.x), Quality.x = NULL, Quality.y = NULL)
id City Quality
1 a1 NY bad
2 a2 LA pending
3 a3 LA good
4 a4 SF pending
5 a5 SF good
6 a6 NY bad
7 a7 Chicago pending
8 a10000 DC pending
9 a200 Chicago good
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.