如何解决通过R中的ID随机分配已建立的值 数据
我有这个文件:
ID P
1 10
1 12
1 11
2 9
2 8
2 10
3 11
3 12
3 14
4 15
4 16
4 8
5 11
5 13
5 10
6 14
6 16
6 11
我想将这些值(a,b,c)随机分配给文件:
像这样:
ID P Group
1 10 a
1 12 b
1 11 c
2 9 c
2 8 a
2 10 b
3 11 a
3 12 c
3 14 b
4 15 c
4 16 a
4 8 b
5 11 b
5 13 c
5 10 a
6 14 b
6 16 c
6 11 a
我需要随机执行几次。我尝试过:
df %>% group_by(ID) %>% replicate(1,sample(df$group))
但是,可以肯定的是,它没有用。有什么建议吗?
解决方法
这里是sample
library(dplyr)
df1 %>%
group_by(ID) %>%
mutate(Group = sample(c('a','b','c'),n(),replace = TRUE))
数据
df1 <- structure(list(ID = c(1L,1L,2L,3L,4L,5L,6L,6L),P = c(10L,12L,11L,9L,8L,10L,14L,15L,16L,13L,11L
)),class = "data.frame",row.names = c(NA,-18L))
,
两个解决方案,一个带有分组,另一个不带分组
library(tidyverse)
df <- dplyr::tribble(
~ID,~P,1,10,12,11,2,9,8,3,14,4,15,16,5,13,6,11
)
sample_vector <- c("a","b","c")
##Without grouping id
df_2 <- df %>%
mutate(Group = sample(sample_vector,nrow(df),replace = TRUE))
##With grouping by ID
df_2 <- df %>% group_by(ID) %>%
mutate(Group = sample(sample_vector,replace = TRUE))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。