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

在R中从CSV创建年龄别背景死亡率向量时遇列不存在错误的排查

问题分析与解决

错误原因

  1. 列名大小写不匹配:R对大小写敏感,你的CSV中列名是Total(首字母大写),但代码里写的是select(total)(全小写),系统找不到对应列。
  2. CSV读取参数错误:你的CSV用分号;作为分隔符,而read.csv默认用逗号,分隔,直接读取会把整行当成一列,自然识别不出Total列;另外CSV里的小数用逗号,表示,R默认识别点.,不指定的话死亡率数值会变成字符类型,无法正常计算。

修正后的代码

# 正确读取CSV,指定分隔符和小数符号
Mortality_2022 <- read.csv("C:/mortality.csv", sep = ";", dec = ",")

# 提取Total列转为向量(注意列名首字母大写)
v_mort <- Mortality_2022 %>% 
  # filter(Age >= age & Age <= n_age_max) %>% # 如需过滤年龄可取消注释
  select(Total) %>% 
  as.matrix()

其他实现方法(基础R方式,无需dplyr)

# 读取数据
Mortality_2022 <- read.csv("C:/mortality.csv", sep = ";", dec = ",")

# 提取Total列转为向量
v_mort <- as.matrix(Mortality_2022$Total)
# 如果需要过滤年龄:
# v_mort <- as.matrix(Mortality_2022[Mortality_2022$Age >= age & Mortality_2022$Age <= n_age_max, "Total"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:20:26