gpt4 book ai didi

r - R Studio 中的 "Index Match"(多列)

转载 作者:行者123 更新时间:2023-12-04 22:22:15 26 4
gpt4 key购买 nike

我正在处理一个相当大的数据集(100k 行),并希望在 R Studio 中复制 Excel 索引匹配函数。

我正在寻找一种方法来创建一个新列,该列将从现有列中提取一个值,如果来自三个不同列的 3 个值与来自其他 3 个列的 3 个值匹配。

具体来说,关于下面的示例,如果所有三列“1994_Address”、“1994_ZipCode”和“1994_Bank Name”都与“1995_Address”匹配,我希望创建一个新列“1994_Number”从“1995_Number”中提取值, “1995_ZipCode”和“1995_银行名称”。所需结果为红色。

Example

任何帮助将不胜感激。

最佳答案

dplyr 可能解决您的问题:

library(dplyr)
dat <- data.frame(`1994_Adress` = c("123 Road", "123 Road", "321 Road"),
`1994_ZipCode` = c(99999, 99999, 11111),
`1994_Bank Name` = c("JPM", "JPM", "WF"),
`1995_Adress` = c("123 Road", "1234 Road", "321 Road"),
`1995_ZipCode` = c(99999, 99999, 11111),
`1995_Bank Name` = c("JPM", "JPM", "WF"),
`1995_Number` = c(1, 2, 3), check.names = F, stringsAsFactors = F)
dat <- dat %>%
mutate(`1994_Number` = case_when(`1994_Adress` == `1995_Adress` &
`1994_ZipCode` == `1995_ZipCode` &
`1994_Bank Name` == `1995_Bank Name` ~ `1995_Number`))

关于r - R Studio 中的 "Index Match"(多列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61793080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com