我创建了一个函数来调用数据集中每一行的函数。我想将输出作为向量。正如您在下面看到的,该函数将结果输出到屏幕,但我无法弄清楚如何将输出重定向到我可以在函数外部使用的向量。
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()
答案 0 :(得分:4)
您刚从here获取此代码吗?我担心你甚至没有尝试自己先解决问题,但希望我错了。
你可能会过度思考这个问题。只需将函数的结果存储在矢量中,就像使用其他函数一样:
stored_vector <- test_markers()
但是,正如评论中所提到的,您的功能可能会缩减为:
stored_vector <- sapply(1:nrow(data), function(i) SNPHWE(data[i,2],data[i,3],data[i,4]) )