我想用R中的数据表来完成这个任务。
所以我从这个开始
dtMain
Name state
1: CompanyC CA
2: CompanyM MN
3: CompanyC1 California
4: CompanyT TX
statesFile
stateExpan state
1: Texas TX
2: Minnesota MN
3: California CA
在dtMain$State == statesFile$state
中,我想用statesFile$stateExpan
替换dtMain$State
并得到以下内容
dtMain
Name state
1: CompanyA California
2: CompanyB Minnesota
3: CompanyC California
4: CompanyD Texas
下面是创建这两个文件的代码
library(data.table)
dtMain <- data.table(Name = c("CompanyA" ,"CompanyB","CompanyC","CompanyD"),
state = c("CA","MN","California","TX"))
statesFile <- data.table( stateExpan = c("Texas","Minnesota","California"),
state = c("TX","MN","CA"))
我的问题是这个R finding rows of a data frame where certain columns match those of another的下一个级别,我正在寻找数据表解决方案。
发布于 2017-03-03 19:57:30
使用update联接:
dtMain[statesFile, on=.(state), state := i.stateExpan ]
i.*
前缀表示它来自x[i, on=, j]
中的i
表。这里是可选的。
详情请参见?data.table
。
https://stackoverflow.com/questions/42587214
复制相似问题