首页 文章

循环遍历r中数据帧中的列索引

提问于
浏览
0

我有两列数据 . headsTails data looks like this . 我想创建一个循环,每次将每行的值分别输入n1和n2,并将输出(result2)附加到矢量powercal中 . 一世

powercal <- c()

for (i in seq_along(headsTails)){

  result2 <- pwr.2p2n.test(h=0.3, n1=headsTails[i,i], n2=headsTails[i,(i+1)], sig.level = 0.05,power = NULL, alternative = "greater")

  powercal <- append(result2$power, powercal)
 }

1 回答

  • 0

    我相信这会解决你的问题:

    powercal <- sapply(seq_len(nrow(headsTails)), function(i){
      pwr.2p2n.test(h=0.3, n1=headsTails[i,1], n2=headsTails[i,2], 
                    sig.level = 0.05,power = NULL, alternative = "greater")
    })
    

    第一:使用循环在向量中累积值在R中绝不是一个好主意 . 要么创建所需输出长度的虚拟向量然后替换每个值,要么更好地仍然使用应用函数

    其次:循环中的代码也会在每次迭代中递增列号( n1=headsTails[i, i], n2=headsTails[i, (i+1)] ) . 您的数据框有两列,您只需要增加rownumber . 我修复了我的代码 .

相关问题