[英]Sample from a list of data.frames
我有以下list1
和list2
:
df1 <- data.frame(x=(1:3),Q=(3:5))
df2 <- data.frame(x=(1:3),Q=(3:5))
df3 <- data.frame(x=(1:3),Q=(3:5))
list1 <- list(df1,df2,df3)
list2 <- list(2,3,6)
我想根據list2
的對應值從每個list1
元素中的Q
中隨機抽樣
所以我會從第2對Q
第一對列表元素中抽樣。
到目前為止,我已經管理:
df1 <- data.frame(x=(1:3),Q=(3:5))
z <- 2
sapply(1:z,function(i) sample(df1$Q,1))
但我正在努力試圖在兩個列表中的所有元素對中進行mapply
。
這是一個mapply
方法:
mapply(function(x, y) sample(x[["Q"]], y, replace = TRUE), list1, list2)
不確定這是否是您所追求的,但它可能會有所幫助:
FUN <- function(x, z) sapply(1:z,function(i) sample(x[["Q"]], 1))
lapply(seq_along(list1), function(i) FUN(list1[[i]], list2[[i]]))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.