1

我创建了一个函数来调用数据集中每一行的函数。我想将输出作为向量。正如您在下面看到的,函数将结果输出到屏幕,但我不知道如何将输出重定向到可以在函数外部使用的向量。

n_markers <- nrow(data)
p_values <-rep(0, n_markers)

test_markers <- function()
   {
   for (i in 1:n_markers)
      {
      hets  <- data[i, 2]
      hom_1 <- data[i, 3]
      hom_2 <- data[i, 4]   
      p_values[i] <- SNPHWE(hets, hom_1, hom_2)
      }
      return(p_values)
   }

test_markers()
4

1 回答 1

4

您是从这里获取此代码吗?我担心你甚至没有先尝试自己弄清楚,但希望我错了。

这个你可能想多了。只需将函数的结果存储在向量中,就像使用其他函数一样:

stored_vector <- test_markers()

但是,正如评论中提到的,您的功能可能会简化为:

stored_vector <- sapply(1:nrow(data), function(i) SNPHWE(data[i,2],data[i,3],data[i,4]) )
于 2012-05-03T13:32:36.730 回答