首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

遍历
EN

Stack Overflow用户
提问于 2019-11-13 19:14:05
回答 1查看 81关注 0票数 0

我正在使用fingertipsR获取公共卫生数据。

有不同地理级别的指标,这些指标也在个人资料级别分组。

下面是一些代码:

代码语言:javascript
运行
复制
library(fingertipsR)
library(fingertipscharts)
library(tidyverse)
library(ggthemes)
fingertips_stats()


inds<-indicators_unique()
profs<-profiles()

可以像这样为配置文件拉出唯一的指示器,然后像这样添加一个列

代码语言:javascript
运行
复制
smoking<-indicators_unique(ProfileID = 18,DomainID = NULL)%>%mutate(prof_id="18")

我想做的是:

对于每个唯一的配置文件ID,生成一个指示器的数据帧。有53个独特的配置文件

代码语言:javascript
运行
复制
uniqueprofs<-as_tibble(unique(profs$ProfileID))

我怎么才能通过它呢?还是循环?

我经常被这些迭代类型的问题所困扰。

编辑: so。如果您在按住Ctrl键的同时单击indicators_unique,您将看到以下内容:df <- unique(df[, c("IndicatorID", "IndicatorName")])

我复制了所有函数并调用了其他函数

代码语言:javascript
运行
复制
function (ProfileID = NULL, DomainID = NULL, path) 
{
  if (missing(path)) 
    path <- fingertips_endpoint()
  #fingertips_ensure_api_available(endpoint = path)
  df <- indicators(ProfileID, DomainID, path = path)
  df <- unique(df[, c("IndicatorID", "IndicatorName","ProfileID")])
  return(df)
}

现在我得到了一个包含ProfileID的数据帧。如果我加上"DomainID“我也可以...

编辑:恼人的是,我问了一个类似的问题,并用dplyr group_bygroup_walk更新了它

我可以这样做:

inds%>%group_by(ProfileID)%>%group_walk(~ write.csv(.x, paste0(.y$ProfileID, ".csv")))

我如何group_walk并将数据帧/数据块写入环境,而不是将它们写入驱动器,然后加载它们?

EN

回答 1

Stack Overflow用户

发布于 2019-11-13 20:57:17

从一些最小的初始代码开始

代码语言:javascript
运行
复制
library(fingertipsR)
library(tidyverse)
profs<-profiles()

indictators_unique已经矢量化了,所以不需要将ProfileID加载到tibble中,而是将它们放在一个列表中,然后您可以执行简单的

代码语言:javascript
运行
复制
unique_profs <- list(unique(profs$ProfileID))
indicators_unique(ProfileID = unique_profs, DomainID = NULL)

问题是添加所需的prof_id列。我对这些包并不熟悉。是否有任何数据框架将ProfileID链接到IndicatorIDIndicatorName,您可以在其上执行join

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58835897

复制
相关文章

相似问题

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