我在R中有多个列表,每个列表都有唯一的元素,但有些元素在多个列表中。我想改组列表,但每个列表只有唯一的元素。这是一些东西,但最终没有最终的唯一列表
x<-list()
x[[1]]<-c(1,2,3,4,5)
x[[2]]<-c(1,2,6,7,8)
u<-unlist(x)
x2<-relist(u[sample(length(u))],skeleton=x)
> x
[[1]]
[1] 1 2 3 4 5
[[2]]
[1] 1 2 6 7 8
> x2
[[1]]
[1] 4 8 3 5 6
[[2]]
[1] 2 1 2 1 7
尝试找出额外的步骤,以确保每个列表有五个唯一的数字。
答案 0 :(得分:0)
在您的示例中,向量仅包含唯一值,因此我认为解决方案可以简单:
x <- list(c(1,2,3,4,5), c(1,2,6,7,8))
lapply(x, sample)
# [[1]]
# [1] 3 2 5 1 4
#
# [[2]]
# [1] 1 6 7 2 8