我在 R 中的 df 具有以下列內容(所有字符):
- ColumnA - 起點名稱
- ColumnB - 目的地名稱
- ColumnC - 起始坐標
- ColumnD - 結束坐標
my_df <- structure(list(origin = c("AAA", "", "CCC", "DDD", "EEE"), destin = c("BBB", "FFF", "GGG", "HHH", "III"), start_coord = c("1.1", "2.2", "3.3", "4.4", "5.5"), end_coord = c("2.2", "6.6", "7.7", "8.8", "9.9" )), row.names = c(NA, 5L), class = "data.frame")
ColumnA 中有包含空字串的行。我想用 ColumnB 中的值替換空字串,其中 ColumnC 值與 ColumnD 值匹配。上例中缺失值的預期輸出是 BBB。我怎樣才能做到這一點?我是 R 的新手。謝謝。
uj5u.com熱心網友回復:
我確信有一種更清潔的方法可以做到這一點,但乍一看,我傾向于使用match(). 如果origin是非空白,我們只使用origin否則我們得到匹配的destin值:start_coordend_coord
df$origin <- ifelse(
df$origin != "",
df$origin,
df$destin[match(df$start_coord, df$end_coord)]
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/439387.html
