我在gradle.bat
库中实现函数时遇到问题。
我想实现的功能如下
boot
这是两个序列之间的匹配的计数。
我的数据是一组序列,例如
fsyn = function(x) sum( x[1,] == x [2,] )
这些序列的一些重要事实是 id V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 1 c a c b c c b d d a
2 1 c d a a c b d a b a
3 2 b d c b b b c d a b
4 2 b a b c b c d b a d
配对。
我感兴趣的是做两件事,第一件事是用id
来引导比赛次数,第二次用于两个随机个人。
第一个程序可以通过
实现id
带
library(dplyr)
chid = df$id
# sampling paired sequences #
wchid = function(chid) which(chid %in% sample(chid, 1))
# the matches function #
fsyn = function(x) sum( x[1,] == x [2,] )
# wrapping the function #
funcHamC = function(df) df[wchid(chid), -1] %>% fsyn
第二个功能可以简单地写成
df %>% funcHamC
但是,我在funcHamR = function(df) df[sample(df$id, 2), -1] %>% fsyn
df %>% funcHamR
使用这两个函数时遇到了问题。
boot
这不起作用。任何的想法 ?
数据
library(boot)
boot(df, funcHamC, R = 10)
boot(df, funcHamR, R = 10)
答案 0 :(得分:2)
boot
函数需要statistic
函数的两个参数 - 第二个参数是指定要选择的样本值的参数。因为您使用自己的方法从数据中随机选择,所以应将sim
参数设置为'parametric'
。这将使用ran.gen
参数指定从数据生成随机值的函数。
引用帮助文件:“如果未指定ran.gen
,则默认值为返回原始data
的函数,在这种情况下,所有模拟都应作为{{1}的一部分包含在内}“。
将引导输出保存到变量 - 例如statistic
和C.boot
,您会在R.boot
和C.boot$t
中找到示例。
R.boot$t
然后,您可以从生成的值中获取所需的统计数据。