You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R运行languageEntropy代码出现summarise()列character类型错误如何解决

问题根因

你遇到的报错本质是languageEntropy函数内部计算各语言暴露占比总和时,传入的L1_exposure_proportion到L5_exposure_proportion这几列数据是字符类型,无法执行数值求和运算,不是dplyr包本身的问题。

解决步骤

  • 第一步:先确认这几列的字段类型,运行以下代码查看数据结构:
# 查看数据集各列类型和样例值
str(data[,c("L1_exposure_proportion","L2_exposure_proportion","L3_exposure_proportion","L4_exposure_proportion","L5_exposure_proportion")])

如果输出里对应列的类型显示为chr就确认是字符类型问题。

  • 第二步:将这些列转换为数值类型,如果你的占比列带%、逗号等特殊符号,需要先清理再转换,示例代码如下:
# 通用转换逻辑,有特殊符号的话先替换
data <- data %>%
  mutate(across(c(L1_exposure_proportion,L2_exposure_proportion,L3_exposure_proportion,L4_exposure_proportion,L5_exposure_proportion),
                # 如果有%就先去掉%再转数值,没有的话直接as.numeric即可
                ~ as.numeric(gsub("%","",.))/100)) %>%
  mutate(Participant.number=as.numeric(Participant.number))%>%
  na.omit()
  • 第三步:转换完成后再重新运行languageEntropy的计算代码即可。

内容的提问来源于stack exchange,提问作者htkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:48:03