![](/img/trans.png)
[英]Using data in one data.frame to generate values for a new column in another data.frame in R
[英]R How to update a column in data.frame using values from another data.frame
R.的新手。我有一個data.frame
'data.frame': 2070 obs. of 5 variables:
$ id : int 16625062 16711130 16625064 16668358 16625066 16711227 16711290 16668746 16711502 16625494 ...
$ subj : Factor w/ 3 levels "L","M","S": 1 1 1 1 1 1 1 1 1 1 ...
$ grade: int 4 6 4 5 4 6 6 5 6 4 ...
$ score: int 225 225 0 225 225 375 375 125 225 125 ...
$ level: logi NA NA NA NA NA NA ...
以及一個名為lookup的命名數字列表
Named num [1:12] 12 19 20 26 31 32 49 67 72 73 ...
- attr(*, "names")= chr [1:12] "0" "50" "100" "125" ...
我想找到一種方法來更新數據框“級別”列,方法是在查找列表中查找值,將數據框“score”列與查找列表中的數字名稱相匹配。 換句話說,數據框中的得分值用於查找查找列表中的數字(將在級別列中)。
所以...如果有人理解我的意思......請幫助。
謝謝羅恩
你應該能夠這樣做(假設你的數據框叫做d
):
d$level = as.numeric(lookup[as.character(d$score)])
例如:
lookup = list(1, 2, 3, 4)
names(lookup) = c("0", "50", "100", "150")
d = data.frame(score=c(50, 150, 0, 0), level=NA)
d$level = as.numeric(lookup[as.character(d$score)])
print(d)
# score level
# 1 50 2
# 2 150 4
# 3 0 1
# 4 0 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.