R 在大型数据框架上迭代以编写单个Excel电子表格
我想根据您在下面看到的MVNDR编号编写独特的电子表格 当前数据结构/数据帧R 在大型数据框架上迭代以编写单个Excel电子表格,r,excel,loops,for-loop,apply,R,Excel,Loops,For Loop,Apply,我想根据您在下面看到的MVNDR编号编写独特的电子表格 当前数据结构/数据帧 Quote Date eSVS Order Nbr MVNDR Name 2021-05-24 H6328-206574 60710435 Joe 2021-05-27 H8926-157085 60710435 Joe 2021-05-24 H6328-206574 60710435 Carl 2021-05-27 H8926-1570
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 Joe
2021-05-27 H8926-157085 60710435 Joe
2021-05-24 H6328-206574 60710435 Carl
2021-05-27 H8926-157085 60710435 Carl
2021-05-24 H6328-206574 60710435 John
2021-05-27 H8926-157085 60710435 John
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 Joe
2021-05-27 H8926-157085 60710435 Joe
独特电子表格中的所需输出
电子表格1和所需路径名:C:\Users\santi\Documents\R\u Scripts\MVNDR\u Joe
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 Joe
2021-05-27 H8926-157085 60710435 Joe
2021-05-24 H6328-206574 60710435 Carl
2021-05-27 H8926-157085 60710435 Carl
2021-05-24 H6328-206574 60710435 John
2021-05-27 H8926-157085 60710435 John
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 Joe
2021-05-27 H8926-157085 60710435 Joe
电子表格2和所需路径名:C:\Users\santi\Documents\R\u Scripts\MVNDR\u John
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 John
2021-05-27 H8926-157085 60710435 John
电子表格3和所需路径名:C:\Users\santi\Documents\R\u Scripts\MVNDR\u Carl
Quote Date eSVS Order Nbr MVNDR Name
2021-05-24 H6328-206574 60710435 Carl
2021-05-27 H8926-157085 60710435 Carl
我发现了问题所在,我应该早点发现 因为现在每个组有多个记录
x$Name
返回一个向量,每个记录的名称都重复
我们只需要名字,我们可以很容易地提取出来
这是更新后的代码
library(dplyr)
library(xlsx)
dat <- read.csv('data.csv')
dat_grouped <- dat %>% group_by(Name)
lapply(group_split(dat_grouped), function(x){write.xlsx(x, paste0(x$Name[1], ".xlsx"))})
库(dplyr)
图书馆(xlsx)
dat这是我的问题,但我觉得我问得不好,所以我想重新创建一个问题,你现在想按名称分组吗?是的,我想按名称分组,或者MVNDR也可以。谢谢,如果我能想出一些我能想象到的小问题,我希望这能奏效。我收到这个错误,这与我的机器有关吗<代码>在.jcall中出错(“RJavaTools”、“Ljava/lang/Object;”、“invokeMethod”、cl、:java.lang.OutOfMemoryError:java堆空间另外:警告消息:未知或未初始化列:MVNDR_NBR
这是在运行lapply(组分割(数据分组)、函数(x){write.xlsx(x,粘贴0(x$MVNDR_NBR[1],“.xlsx”)})之后
看起来没有名为“MVNDR\u NBR”的列,所以您应该做的第一件事是检查您导入的数据中的列名。啊,是的,这是问题的一部分。这是最终输出,我让它工作了!dat\u grouped22%group\u by(MVNDR\u NBR)\35;打印出lappy(group\u split(dat\u grouped22),function(x)的逻辑{openxlsx::write.xlsx(x,paste0(x$MVNDR_NBR[1],“.xlsx”))