Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R使用带LD函数的Tapply_R_Ld_Apply - Fatal编程技术网

R使用带LD函数的Tapply

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) 问题是,我无法找到一

我正在尝试使用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(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
可能更合适。但我仍然不清楚你期望的最终结果是什么。最终结果实际上是一个数字答案(我忘了补充说,我将为此制作另一个专栏)。不过谢谢,我会试试的。