【发布时间】:2021-03-18 18:32:32
【问题描述】:
考虑一下这个 df(我正在使用的那个要大得多)
set.seed(13)
test <- tibble(A = as.factor(seq(1:10)),
B = as.factor(sample(c("Apple", "Banana"), 10, replace = T)),
C = as.factor(sample(c("Cut", "Mashed"), 10, replace = T)),
D = as.factor(sample(seq(1:3), 10, replace = T)))
我需要创建另一个数值变量,但新变量的数据需要与其他变量的水平相同的情况相同。让我举例说明。
当我这样做时,或者我尝试找到的任何其他方法时
test %>%
group_by(B,C,D) %>%
mutate(E = sample(seq(0.01:100, 0.01), 10, replace = T))
我收到一条错误消息,
我追求的结果如下,我需要使用样本或随机创建函数
A B C D E
> <fct> <fct> <fct> <fct> <fct>
> 1 1 Banana Mashed 3 0.2
> 2 2 Apple Cut 1 4
> 3 3 Banana Mashed 1 5
> 4 4 Apple Mashed 2 3
> 5 5 Banana Cut 1 1.3
> 6 6 Apple Cut 3 4.7
> 7 7 Banana Mashed 1 5
> 8 8 Banana Mashed 1 5
> 9 9 Banana Cut 3 3.2
> 10 10 Banana Cut 3 3.2
因此第 9 行和第 10 行、第 3、7 和 8 行需要完全相同,因为某些变量(B、C、D)的水平相同
知道怎么做吗?
【问题讨论】: