我正在尝试为data.table中的每个组计算Pearson相关性。该代码使用fun(cor(。,true_beta))可以工作,但是如果使用以下命令则会出错: list(cor(。,true_beta))。
我还试图将2个函数放在列表中,例如: list(cor(。,true_beta,method ='pearson'),cor(。,true_beta,method ='kendall'))
我已经尝试过list(cor(as.numeric(。),true,)),但它仍然给出错误:
(list)对象不能被强制键入“ double”
代码有效:
plot.data.corr = plot.data.info %>%
select(-c('predictors')) %>%
group_by(method, boot) %>%
summarise_at(c("coefs"), funs(kendall.tau = cor(., true_beta, method = 'kendall'))) %>%
left_join(plot.data.corr, by = c('method', 'boot'))
但它不起作用:
plot.data.corr = plot.data.info %>%
select(-c('predictors')) %>%
group_by(method, boot) %>%
summarise_at(c("coefs"), list(kendall.tau = cor(., true_beta, method = 'kendall'))) %>%
left_join(plot.data.corr, by = c('method', 'boot'))
给出错误:
cor(。,true_beta,method =“ kendall”)错误:'x'必须为数字