首页 > 解决方案 > 创建多个数据框

问题描述

我有一个如下所示的数据框(df):

在此处输入图像描述

目标:我想创建52个DATAFRAMES,不知道怎么用dplyr

在此处输入图像描述

标签: rdplyr

解决方案


尝试下一个代码:

library(dplyr)
library(tidyr)
#Code
new <- df %>% pivot_longer(-1) %>%
  group_by(name) %>%
  filter(!is.na(value))
#List
List <- split(new,new$name)
#Set to envir
list2env(List,envir = .GlobalEnv)

使用的一些数据:

#Data
df <- structure(list(id_unico = c("112172-1", "112195-1", "112257-1", 
"112268-1", "112383-1", "112452-1", "112715-1", "112716-1", "112761-1", 
"112989-1"), P101COD = c(NA, NA, NA, NA, NA, 411010106L, NA, 
NA, 411010106L, NA), P102COD = c(421010102L, 421010102L, 421010102L, 
421010102L, 421010102L, NA, 421010108L, 421010108L, NA, 421010102L
), P103COD = c(441010109L, 441010109L, 441010109L, 441010109L, 
441010109L, 441010109L, 441010109L, 441010109L, 441010109L, 441010101L
), P110_52_COD = c(NA, 831020103L, 831020103L, NA, 831020103L, 
NA, NA, NA, NA, NA)), class = "data.frame", row.names = c(NA, 
-10L))

推荐阅读