使用data.table分组报错:无法找到函数"."的问题咨询
解决data.table分组时"无法找到函数."的问题
针对你遇到的报错,试试以下几种解决方法:
确保已加载data.table包:
执行library(data.table),很多时候重装包后忘记加载,会导致data.table的语法无法被识别。确认对象是data.table类型:
用class(cad.2)查看cad.2的类型,如果是普通data.frame,需要先转换为data.table:cad.2 <- as.data.table(cad.2)或者读取数据时直接使用data.table的
fread()函数,避免后续转换。排查命名冲突:
如果有其他包或自定义函数覆盖了data.table中的.函数,会导致这个报错。可以执行find(".")查看当前.函数的来源,若发现是其他包,可通过detach(package:包名)卸载冲突包,或者直接重启R会话。替代写法测试:
data.table中.()是list()的别名,你可以暂时把代码里的.()替换成list(),看看是否能正常运行:cad.agrupado <- cad.2[ , list(d.fx_rfpc = first(d.fx_rfpc), d.marc_pab = first(d.marc_pab), d.cod_local_domic_fam = first(d.cod_local_domic_fam), d.dat_atual_fam = first(d.dat_atual_fam), d.dat_cadastramento_fam = first(d.dat_cadastramento_fam)), by = d.cod_familiar_fam]
内容的提问来源于stack exchange,提问作者alexandre
相关产品推荐
相关产品推荐

