RStudio读取Excel时表头行被识别为观测行的修正方法求助
正确处理Excel表头的方法
方法一:读取时直接指定表头行
无需先读取全部数据再删除行,直接利用openxlsx::read.xlsx的startRow参数,指定从第2行开始读取并将该行设为表头:
# 加载依赖包(已安装可跳过install步骤) library(data.table) library(openxlsx) # 读取文件,指定第2行为表头 dt <- data.table(openxlsx::read.xlsx('https://doi.org/10.1371/journal.pone.0242866.s001', startRow = 2))
方法二:修复已错误读取的数据
如果已经错误读取(第一行当表头、第二行当观测值),可手动重置表头:
# 将第二行内容设为新列名 setnames(dt, as.character(dt[2, ])) # 删除前两行(原无效表头行和已用作列名的行) dt <- dt[-c(1, 2), ] # 转换目标列为数值型(方便后续求和) dt <- dt %>% mutate(across(starts_with("你需要求和的列前缀"), as.numeric))
用starts_with实现列求和
按照教授建议,对指定前缀的列求和,比如对所有以"Value"开头的列计算行总和:
dt <- dt %>% mutate(total_sum = rowSums(across(starts_with("Value")), na.rm = TRUE))
内容的提问来源于stack exchange,提问作者Valério Souza Neto
相关产品推荐
相关产品推荐

