根据s表中的值更改R表中的值

时间:2015-11-12 17:30:09

标签: r replace

我有两个数据框。 表1列出了观察和变量。 表2列出了变量的唯一值和该唯一变量集的值。

df1                         df2 (distinct values for variable A)
A    B    C    D    E               1    .6    
1    etc. . .                       2    .3
2    etc. . . .                     3    .1
1    etc. . . . 
1
3
2

我想在df1中替换变量A的值 其概率来自df2

我该怎么做?我试过用if语句没有运气。

1 个答案:

答案 0 :(得分:0)

我们可以使用match

df1$A <- df2$col2[match(df1$A, df2$col1)]
df1
#   A
#1 0.6
#2 0.3
#3 0.6
#4 0.6
#5 0.1
#6 0.3

数据

 df1 <- data.frame(A=c(1, 2, 1, 1, 3, 2))
 df2 <- data.frame(col1 = 1:3, col2= c(.6, .3, .1))