gpt4 book ai didi

r - 向数据表添加多个新列

转载 作者:行者123 更新时间:2023-12-02 17:50:00 25 4
gpt4 key购买 nike

我有一组数据,我需要添加多个额外的列来对现有数据进行排名。我通过一次添加一列来完成此操作,但我希望通过将列作为字符向量传递来找到一种更有效的方法?这是一个简单的例子:

require(data.table)
dt <- data.table(x = rnorm(10),
y = rnorm(10))

dt[, ":=" (rank_x = rank(x, ties.method = "min"),
rank_y = rank(y, ties.method = "min"))]

在所有情况下排名方法都是相同的,所以我希望使用类似的方法

cols <- c("x", "y")

dt[, cols := lapply(.SD, function(x) rank(x, ties.method = "min")), .SDcols = cols]

最佳答案

我们可以通过粘贴来创建新变量

dt[, paste0("rank_", cols) := lapply(.SD, rank, ties.method = "min"), .SDcols = cols]

关于r - 向数据表添加多个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44840508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com