R 生成数据集的不同迭代
我有一个由项目(行)组成的数据集,这些项目(行)仅用0到4的整数(表示离散变量的度数)进行分类。我有两年的数据,1980年和1996年(列) 当然,这个数据集有多种变体,它们也遵循我的3条定律 我应该如何编写一个循环来生成此数据集的R 生成数据集的不同迭代,r,dataframe,foreach,R,Dataframe,Foreach,我有一个由项目(行)组成的数据集,这些项目(行)仅用0到4的整数(表示离散变量的度数)进行分类。我有两年的数据,1980年和1996年(列) 当然,这个数据集有多种变体,它们也遵循我的3条定律 我应该如何编写一个循环来生成此数据集的sim=1000守法迭代 我怎样才能确保没有任何项目(在任何数据库中)违反我的三条定律中的任何一条 当前正在尝试结果您可以执行以下操作: library(foreach) results <- foreach(i = 1:100) %dopar% { for
sim=1000
守法迭代
我怎样才能确保没有任何项目(在任何数据库中)违反我的三条定律中的任何一条
当前正在尝试结果您可以执行以下操作:
library(foreach)
results <- foreach(i = 1:100) %dopar% {
foreach(i = 1:nrow(df), .combine = "rbind") %do% {
lst <- ifelse(df$X1980[i] > df$X1996[i],
list(sort(sample(df$X1980[i]:df$X1996[i],3,replace = T), decreasing = T)),
list(sort(sample(df$X1980[i]:df$X1996[i],3,replace = T), decreasing = F)))
lst <- c(df$X1980[i], unlist(lst), df$X1996[i])
data.frame(X1980 = lst[1],
X1984 = lst[2],
X1988 = lst[3],
X1992 = lst[4],
X1996 = lst[5])
}
}
do.call("rbind", results)
库(foreach)
结果你可以做:
library(foreach)
results <- foreach(i = 1:100) %dopar% {
foreach(i = 1:nrow(df), .combine = "rbind") %do% {
lst <- ifelse(df$X1980[i] > df$X1996[i],
list(sort(sample(df$X1980[i]:df$X1996[i],3,replace = T), decreasing = T)),
list(sort(sample(df$X1980[i]:df$X1996[i],3,replace = T), decreasing = F)))
lst <- c(df$X1980[i], unlist(lst), df$X1996[i])
data.frame(X1980 = lst[1],
X1984 = lst[2],
X1988 = lst[3],
X1992 = lst[4],
X1996 = lst[5])
}
}
do.call("rbind", results)
库(foreach)
结果
for(i in 1:nrow(df)){
lst <- ifelse(df$X1980[i] > df$X1996[i],
list(sort(sample(df$X1980[i]:df$X1996[i],3,replace = T), decreasing = T)),
list(sort(sample(df$X1980[i]:df$X1996[i],3,replace = T), decreasing = F)))
lst <- c(df$X1980[i], unlist(lst), df$X1996[i])
df.new <- rbind(df.new, data.frame(X1980 = lst[1],
X1984 = lst[2],
X1988 = lst[3],
X1992 = lst[4],
X1996 = lst[5]))
}
X1980 X1984 X1988 X1992 X1996
1 1 1 1 1 1
2 2 3 4 4 4
3 4 4 3 2 1
library(foreach)
results <- foreach(i = 1:100) %dopar% {
foreach(i = 1:nrow(df), .combine = "rbind") %do% {
lst <- ifelse(df$X1980[i] > df$X1996[i],
list(sort(sample(df$X1980[i]:df$X1996[i],3,replace = T), decreasing = T)),
list(sort(sample(df$X1980[i]:df$X1996[i],3,replace = T), decreasing = F)))
lst <- c(df$X1980[i], unlist(lst), df$X1996[i])
data.frame(X1980 = lst[1],
X1984 = lst[2],
X1988 = lst[3],
X1992 = lst[4],
X1996 = lst[5])
}
}
do.call("rbind", results)