R使用带LD函数的Tapply
我正在尝试使用genetics包中的LD()函数执行链接不平衡计算。对于那些不知道的人,写的如下:R使用带LD函数的Tapply,r,ld,apply,R,Ld,Apply,我正在尝试使用genetics包中的LD()函数执行链接不平衡计算。对于那些不知道的人,写的如下: g1=genotype(a) g2=genotype(b) LD(g1,g2) 其中a和b是字符 考虑到这一点,我有一个包含4列和大量行的数据框架,我试图找到其中2列的LD。假设df$col3和df$col4代表上述示例中的a和b,我将如何执行计算 我正在考虑使用tapply,因为for循环将花费很长时间: tapply(df$col3,df$col4,function) 问题是,我无法找到一
g1=genotype(a)
g2=genotype(b)
LD(g1,g2)
其中a和b是字符
考虑到这一点,我有一个包含4列和大量行的数据框架,我试图找到其中2列的LD。假设df$col3和df$col4代表上述示例中的a和b,我将如何执行计算
我正在考虑使用tapply,因为for循环将花费很长时间:
tapply(df$col3,df$col4,function)
问题是,我无法找到一种方法来为它们仅位于其中的特定行设置以下内容:
g1=genotype(row "n", col3)
g2=genotype(row "m", col4)
我知道“row'n'”不是实际有效的代码;我只是不知道该怎么形容它
最后,我计划在设置g1和g2后运行LD计算,正如James在他的评论中所述,您可能需要
mapply
。我没有您的数据,但这应该可以:
mapply(
function(a, b) LD(genotype(a), genotype(b)),
a = df$col3,
b = df$col4
)
我创建了社区维基,因为答案是基于评论,而不是我的评论。您能发布一些示例数据吗?LD功能在哪里?
tapply
对于这项工作来说是错误的工具,mapply
可能更合适。但我仍然不清楚你期望的最终结果是什么。最终结果实际上是一个数字答案(我忘了补充说,我将为此制作另一个专栏)。不过谢谢,我会试试的。