【发布时间】:2020-08-09 14:42:42
【问题描述】:
我需要创建一个 函数,它依赖于 2 个变量和一个表(?)(x,y,表)。首先,该函数需要遍历表中的每一行,并且依赖于“X”列值(1 或 0)采取不同的操作:
当 x 列 = 1 时,复制行 'y' 次。然后在嵌套循环中创建一列,从 1 到 y 计算行被复制的次数。
当 x 列 = 0 时,保持该行不变。
输入的一个例子是
输出将是
我尝试编写下一个代码,但老实说我不太擅长循环。
My_function <- function(x,y,table) {
for (i in 1:nrow(table)) {
if(table[,which(colnames(table) = as.character(x)] == 1){
dummy = table[i,]
final_dummy = NULL
for(j in 1:dummy$y){
dummy_2 = dummy
final_dummy = rbind(final_dummy,dummy_2)
}
} else if(table[,which(colnames(table) = as.character(x)] == 0){
table[i,]
}
}
}
【问题讨论】:
-
欢迎来到 SO 和 R。感谢您提供输入和输出期望的图像。如果您将输入数据包含在数据框格式中,这将有助于回答者,例如df
标签: r function loops nested conditional-statements