【发布时间】:2021-08-27 01:41:41
【问题描述】:
我有一个关于嵌套循环的问题。我需要为每个样本做第 1 行 - 第 2 行、第 1 行 - 第 3 行等。然后循环到第 2 行 - 第 3 行等,没有重复(第 4 行 - 第 4 行)或组合重复(第 4 行 - 第 3 行)。接下来,我需要将所有输出放入一个 excel 文档中。
目前使用下面的代码,我只能实现第 1 行 - 行(n)的循环。
set.seed(1)
df <- matrix(sample.int(10, size = 10*5, replace = TRUE), nrow = 10, ncol = 4)
print(df)
df <- as.data.frame(df) # tabulate as dataframe
my_list <- list()
for(i in 1:nrow(df)){
for( j in 1:nrow(df)){
if (i != j) {
if(i < j){
my_list[[i]] <- df[i,] - df[j,]
}
}
}
}
df1 <- rbindlist(my_list, fill=TRUE)
我假设有:
if (i != j) {
if(i < j){
足够了,但它没有给我我想要的。
请帮忙!
【问题讨论】:
-
只要做
if(i<j)...你的代码就可以工作
标签: r loops for-loop nested-loops