如何为数据框列名添加重复后缀并导出至Excel文件?
处理DataFrame列名重命名及导出XLS文件
一、修改指定列名
你的示例代码在R中运行时,重复的hospitalAZ列会自动被添加.1、.2等后缀,我们可以直接定位到region之后的列,替换成目标命名:
# 生成示例数据 df <- data.frame(disease=c("HB1","HB2","HB3","HB4"), region="AZ", hospitalAZ=runif(4), hospitalAZ=runif(4), hospitalAZ=runif(4), hospitalAZ=runif(4)) # 定位region列之后的所有目标列 target_col_index <- which(names(df) == "region") + 1:length(df) - which(names(df) == "region") # 生成需求的重复后缀:1、2各重复两次 suffixes <- rep(c(1,2), times=2) # 拼接新列名并替换 names(df)[target_col_index] <- paste0("HospitalAZ", suffixes)
执行后,df的列名会变为:disease、region、HospitalAZ1、HospitalAZ2、HospitalAZ1、HospitalAZ2,完全符合需求。
二、导出为XLS文件
推荐使用writexl包(无需Java环境,操作更简便):
步骤1:安装并加载包
# 首次使用时安装包 install.packages("writexl") # 加载包 library(writexl)
步骤2:导出数据
# 导出到当前目录下的processed_data.xls文件 write_xlsx(df, path = "processed_data.xls")
如果需要使用依赖Java的xlsx包,也可以参考以下代码:
install.packages("xlsx") library(xlsx) # row.names=FALSE表示不导出行名 write.xlsx(df, file = "processed_data.xls", row.names = FALSE)
内容的提问来源于stack exchange,提问作者John M.
相关产品推荐
相关产品推荐

