r - lapply 在 R 中进行第二次迭代
问题描述
我有两个列表,一个包含 2 个 data.frames,另一个包含 2 个向量。
我需要将 data.frames 中的列名设置为另一个列表中的向量,我似乎无法理解如何使用 lapply 来做到这一点。
可重现的例子:
set.seed(1)
df1 <- data.frame(
X = sample(1:10),
Y = sample(c("yes", "no"), 10, replace = TRUE)
)
df2 <- data.frame(
Z = sample(LETTERS,10),
X = sample(1:10),
Y = sample(c("yes", "no"), 10, replace = TRUE)
)
dataframes <- list(df1, df2)
columns <- list(c("numbers", "boolean"),c("letters", "numbers", "boolean"))
数据框的列数不同,我的原始数据中的列名也有很大不同。我一直在尝试做的是使用 lapply 将列列表映射为数据框的列名,但我需要遍历columns
并且我不知道该怎么做。
解决方案
Map(setNames, dataframes, columns)
# [[1]]
# numbers boolean
# 1 3 yes
# 2 4 yes
# 3 5 no
# 4 7 yes
# 5 2 no
# 6 8 yes
# 7 9 no
# 8 6 no
# 9 10 yes
# 10 1 no
#
# [[2]]
# letters numbers boolean
# 1 Y 5 no
# 2 F 6 no
# 3 P 4 no
# 4 C 2 no
# 5 Z 10 no
# 6 I 8 no
# 7 A 9 yes
# 8 H 1 yes
# 9 X 7 no
# 10 V 3 no
推荐阅读
- java - 限制类及其成员的可访问性是否是更安全代码的有效做法?
- swiftui - 按下按钮后如何创建指令提示?
- c - SDL_GetError() 在 macOS 上返回一个未记录的错误
- php - ajax jquery在onclick事件jquery中将字符串作为参数传递
- asp.net - Send data as multipart/form-data
- docker - 在 jboss/keycloak 上安装软件包
- c++ - 如何在父形状中获取数字索引/位置(OpenCascade)
- c - 在 Win32 上双重转换为 unsigned int 被截断为 2,147,483,648
- typescript - TypeScript 编译器 API - 提取联合类型元组的类型
- java - 依赖注入框架与经典依赖注入相比有哪些优势?