小编edm*_*ond的帖子

R lapply 用于列表列表以将相同的函数应用于预定义的列

我有一个列表列表(2 个 df),并希望用于lapply对每个 df 中的预定义列执行相同的功能。

我特别想使用DescTools包中的 winsorize 函数。目前我知道如何通过在 function(x) 命令中指定所有单独的列来做到这一点,但是,如果我有很多列,这很乏味(参见示例)。

应用该函数后,应返回带有转换变量的整个列表列表(所有列)。理想情况下,转换后的变量使用“_w”(例如“price_w”)或类似内容进行扩展,以表明这些是 winsorized 变量。

我的数据如下所示,虽然我只想将该函数应用于预定义的列“价格”和“质量”。

id <- c(1, 5, 7, 9, 12)
country <- c("A", "A", "C", "E", "E")
price <- c(2.1, 4.6, 3.7, 2.9, 1.8)
quality <- c(3.1, 5.2, 3.3, 1.7, 0.9)
df1 <- cbind.data.frame(id, country, price, quality)

id <- c(2, 3, 4, 10, 14)
country <- c("F", "F", "A", "Z", "X")
price <- c(1.8, 5.2, 2.9, 4.6, 3.9)
quality <- c(4.3, 2.5, 6.9, 1.9, 0.8) …
Run Code Online (Sandbox Code Playgroud)

r function list lapply

5
推荐指数
1
解决办法
73
查看次数

标签 统计

function ×1

lapply ×1

list ×1

r ×1