gpt4 book ai didi

r - 当某些列名可能不存在时,使用data.table::setnames()

转载 作者:行者123 更新时间:2023-12-04 18:39:44 26 4
gpt4 key购买 nike

我有一个返回data.table的脚本,该脚本将包含一组列。我想重命名其中的一些列,但是如果没有全部列,则setnames会中断。有什么方法可以重命名而不会引起循环+错误捕获或与现有名称相交?

iris.dt <- data.table(iris)
# First time works fine
setnames(iris.dt, c("Sepal.Length", "Sepal.Width"), c("length", "width"))
# Second time fails because columns no longer exist
setnames(iris.dt, c("Sepal.Length", "Sepal.Width"), c("length", "width"))
# Error in setnames(iris.dt, c("Sepal.Length", "Sepal.Width"), c("length",
# :Items of 'old' not found in column names: Sepal.Length,Sepal.Width

setnames(..., allow=T)这样的东西将是理想的。

编辑:将其归档为 FR on Github

最佳答案

data.table v1.12.0起(2019年1月13日),这是setnames的参数:

setnames(..., skip_absent=TRUE)  # FALSE by default.

关于r - 当某些列名可能不存在时,使用data.table::setnames(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29380447/

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