当前位置:首页 > 分享 > 正文

R批量操作——计算Excel百分比(批量计算占比)

Q:有若干个文件,其中一个文件如图所示:

求:1-30列中的数值占原始列中的百分比。

解决办法:

Excel公式计算,存在问题:输入公式时候,原始数据不存在。 R语言解决。

{rm(list=ls())getwd()setwd(E:\\0000\\0001数据\\数据\\cess\\示例文件)}##import 表格library(readxl)dataset <- read_excel(示例文件.xlsx, sheet = 3)View(dataset){dat <- dataset##  每一行的3:30除以原始的,然后循环。a <- c(1:100)b <- c(3:30)dat_T <- dat[1,]dat_T <- dat_T[-1,]for(i in a){dat1 <- dat[i,]for (j in b) {dat1[1,j] <- dat1[1,j]/dat1[1,2]}dat1 <- as.data.frame(dat1)dat_T <- rbind(dat_T,dat1)}}library(xlsx)write.xlsx(dat_T, file = 示例文件.xlsx,  sheetName = 计算百分比,append = TRUE)

重点地方: for循环中的代码。

for(i in a){dat1 <- dat[i,]for (j in b) {dat1[1,j] <- dat1[1,j]/dat1[1,2]}dat1 <- as.data.frame(dat1)dat_T <- rbind(dat_T,dat1)}