首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从R中嵌套数据帧的每个元素写入磁盘数据?

如何从R中嵌套数据帧的每个元素写入磁盘数据?
EN

Stack Overflow用户
提问于 2018-07-28 06:03:23
回答 1查看 256关注 0票数 2

我的问题与这个问题直接相关:In R, write each nested data frame to a CSV,但我无法获得解决方案,因此希望避免安装额外的必需软件包purrrlyr

我需要将嵌套data.frame的每个元素(data.frame)写到一个表中,每个元素的名称对应于嵌套data.frame的第一列:

代码语言:javascript
复制
ir <- iris %>% group_by(Species) %>% nest() 
ir$Species <- as.character(ir$Species)

A tibble: 3 x 2

Species    data             
  <chr>      <list>           
1 setosa     <tibble [50 x 4]>
2 versicolor <tibble [50 x 4]>
3 virginica  <tibble [50 x 4]>

我尝试了链接的解决方案:

代码语言:javascript
复制
temp <- ir %>% purrrlyr::by_row(~write.csv(.$data, file = .$Species)) 

但收到以下错误:

代码语言:javascript
复制
Error in by_row(., ~write.csv(.$data, file = .$Species)) : 
  STRING_PTR() can only be applied to a 'character', not a 'list'

我读过关于purrr::walk的文章,但我似乎想不出如何实现它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-28 06:06:40

我们可以使用map2

代码语言:javascript
复制
library(purrr)
map2(ir$data, ir$Species, ~ write.csv(.x, file = paste0(.y, ".csv")))

如果我们不想在控制台上看到空的输出消息,可以使用iwalk

代码语言:javascript
复制
iwalk(setNames(ir$data, ir$Species), ~ write.csv(.x, file = paste0(.y, ".csv")))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51566080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档