我有一個類似於下面的數據框
ID | 名 | 姓 | 訂單 | 年齡 |
---|---|---|---|---|
1 | 約翰 | 史密斯 | 3 | 30 |
2 | 約翰 | 史密斯 | 7 | 8 |
3 | 約翰 | 史密斯 | 9 | 317 |
4 | 約翰 | 史密斯 | 12 | 20 |
我需要根據多個 ID 執行等效的查找和替換操作,如果在列表中找到匹配項,則“名字”、“姓氏”和“年齡”將更改為值“已編輯”。因此,我可以開始使用必要的 ID 設置如下所示的 IDList:
IDList <- c(1,3,74,312)
但是任何人都可以請教如何編碼以使最終表看起來像這樣:
ID | 名 | 姓 | 訂單 | 年齡 |
---|---|---|---|---|
1 | 已編輯 | 已編輯 | 3 | 已編輯 |
2 | 約翰 | 史密斯 | 7 | 8 |
3 | 已編輯 | 已編輯 | 9 | 已編輯 |
4 | 約翰 | 史密斯 | 12 | 20 |
謝謝你。
您可以在此處進行單個分配:
cols <- c("FirstName", "LastName", "Age")
df[df$ID %in% IDList, cols] <- "Redacted"
df
ID FirstName LastName Orders Age
1 1 Redacted Redacted 3 Redacted
2 2 John Smith 7 8
3 3 Redacted Redacted 9 Redacted
4 4 John Smith 12 20
數據:
df <- data.frame(ID=c(1:4), FirstName=rep("John", 4),
LastName=rep("Smith", 4), Orders=c(3,7,9,12),
Age=c(30,8,317,20), stringsAsFactors=FALSE)
IDList <- c(1,3,74,312)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句