【发布时间】:2019-11-27 20:08:20
【问题描述】:
我想用另一个变量替换一个变量的一些值(比如 10 个值中的 3 个)。选择必须是随机的,并且必须保持相同的 id。
这是一个示例数据,
id <- c(seq(1:10))
a <- c(11, 22, 33, 44, 55, 66, 77, 88, 99, 109)
b <- c(111, 222, 333, 444, 555, 666, 777, 888, 999, 1099)
data <- data.frame(id, a, b)
data
> data
id a b
1 1 11 111
2 2 22 222
3 3 33 333
4 4 44 444
5 5 55 555
6 6 66 666
7 7 77 777
8 8 88 888
9 9 99 999
10 10 109 1099
现在假设我想用相同 id 下的变量 b 中的值替换变量 a 中的 3 个值。一个示例输出可能是,
> data
id a b
1 1 11 111
2 2 22 222
3 3 333 333
4 4 44 444
5 5 55 555
6 6 666 666
7 7 77 777
8 8 88 888
9 9 99 999
10 10 1099 1099
任何人都可以帮助我做到这一点? Tidy 或 data.table 两种解决方案都很好。
【问题讨论】:
标签: r dplyr data.table tidyverse