【发布时间】:2019-04-05 21:42:05
【问题描述】:
所以我有一个函数flip.allele(a, b, c, d),它接受 4 个参数,然后根据比较这些不同的参数返回一个数值。我现在正在尝试编写一个附加函数,该函数将采用此函数,然后将其应用于整个数据帧,因此在数据帧的每一行中迭代我的原始函数。
所以我要比较的四个值在第 2、3、4、5 列中。我希望它将比较这四列的值输出到新的第 6 列中。
这是我目前的尝试:
flip.data.frame = function(df) {
for (i in nrow(df)) {
df$flip = flip.allele(df[2], df[3], df[4], df[5])
}
}
问题是,到目前为止,我的所有尝试(包括这次尝试)都意味着当尝试在我的数据上使用它时,它采用前 4 个值,正确应用 flip.allele 函数,然后返回值该行进入数据框中的每一行。
我知道这是因为我使用 df$flip = 位的方式,但我也不确定解决方案是什么。我看到another thread 似乎建议使用apply(),但我不完全确定如何使用它。
任何帮助表示赞赏。
【问题讨论】: