我有两个独立的数据框如下:
df1:
value_a frequency
1 1 5
2 1 5
3 1 5
4 1 5
5 1 5
6 2 4
7 2 4
8 2 4
9 2 4
10 3 2
11 3 2
12 4 3
13 4 3
14 4 3
和
df2:
value_a value_b
1 1 34
2 2 85
3 3 8
4 4 92
我需要将df2$value_b
添加到df1
,其频率与df1$value_a
相同,到目前为止,我只是通过填写单个值来实现此目的:
df1$value_b[df1$value_a == 1] <- 34
df1$value_b[df1$value_a == 2] <- 85
df1$value_b[df1$value_a == 3] <- 8
df1$value_b[df1$value_a == 4] <- 92
...它提供了所需的输出:
value_a frequency value_b
1 1 5 34
2 1 5 34
3 1 5 34
4 1 5 34
5 1 5 34
6 2 4 85
7 2 4 85
8 2 4 85
9 2 4 85
10 3 2 8
11 3 2 8
12 4 3 92
13 4 3 92
14 4 3 92
使用更大更复杂的数据执行此操作的更有效方法是什么?
示例数据:
df1 <- data.frame("value_a" = c(1,1,1,1,1,2,2,2,2,3,3,4,4,4), "frequency" = c(5,5,5,5,5,4,4,4,4,2,2,3,3,3))
df2 <- data.frame("value_a" = c(1,2,3,4), "value_b" = c(34,85,8,92))