使用R中的map()
函数可以将列表元素中的列乘以向量,以创建新列。
map()
函数是purrr
包中的一个函数,用于遍历列表并对每个元素应用相同的操作。在这个问题中,我们可以使用map()
函数遍历列表,并对每个元素中的列进行乘法运算。
首先,我们需要安装和加载purrr
包:
install.packages("purrr")
library(purrr)
接下来,假设我们有一个列表my_list
,其中包含两个数据框df1
和df2
,它们具有相同的列名:
df1 <- data.frame(A = 1:5, B = 2:6)
df2 <- data.frame(A = 2, B = 3)
my_list <- list(df1, df2)
现在,我们可以使用map()
函数遍历my_list
中的每个数据框,并将其中的列乘以向量。假设我们有一个向量vec
:
vec <- c(2, 3)
我们可以使用以下代码:
new_list <- map(my_list, ~ .x * vec)
这将创建一个新的列表new_list
,其中包含两个新的数据框,它们的列是原始数据框中对应列与向量vec
的乘积。
在上述代码中,~ .x * vec
表示一个匿名函数,.x
表示遍历列表中的每个元素,* vec
表示将每个元素中的列乘以向量vec
。
对于这个问题,使用map()
函数可以非常方便地将列表元素中的列乘以向量,以创建新列。
相关链接:
purrr
包介绍和文档:https://purrr.tidyverse.org/领取专属 10元无门槛券
手把手带您无忧上云