问题描述
我使用 map_dfr()
读取多个文件并使用以下代码嵌套数据:
library("tidyverse")
library("readxl")
files <- c("file1.xlsx","file2.xlsx","file3.xlsx","file4.xlsx")
df <- files %>%
set_names() %>%
map_dfr(read_excel,.id = "File") %>%
group_by(File) %>%
nest()
数据框 df
如下所示:
如何使用 mutate()
添加一列以保存每个数据中的变量名称,并添加另一列来计算有多少个变量?我试过了,但它不起作用:
df2 <- df %>%
mutate(var.list = names(data)) %>%
mutate(var.n = unique(var.list))
我的目的是有一个列表列 var.list
来保存每个数据集中的变量(列名)和一个列 var.n
来计算变量的数量。感谢您的帮助。
解决方法
虚假设置:
--proxy-headers / --no-proxy-headers
Enable/Disable X-Forwarded-Proto,X-Forwarded-For,X-Forwarded-Port to
populate remote address info.
作品:
library(dplyr)
library(purrr)
set.seed(42)
df <- tibble(file = sprintf("file%i.xlsx",1:3)) %>%
mutate(data = map(file,~ mtcars[,sample(11,size=7)]))
df
# # A tibble: 3 x 2
# file data
# <chr> <list>
# 1 file1.xlsx <df[,7] [32 x 7]>
# 2 file2.xlsx <df[,7] [32 x 7]>
# 3 file3.xlsx <df[,7] [32 x 7]>