gpt4 book ai didi

r - data.table 通过函数内的引用赋值

转载 作者:行者123 更新时间:2023-12-04 18:03:47 24 4
gpt4 key购买 nike

<分区>

我有一个(大)data.table。我想对它的许多专栏做同样的事情。说,

dt <- data.table( ltr = letters[1:5] )
func <- function( dt ){
cols <- colnames( dt ) # Columns to apply op to
dt[ , (cols) := lapply( .SD, toupper ), .SDcols = cols ]
return( dt )
}

函数 func 将所有列的字符转换为大写。我试试

func( dt )

我得到了错误

Error in `:=`((cols), lapply(.SD, toupper)) : 
Check that is.data.table(DT) == TRUE. Otherwise, := and `:=`(...) are defined for use in j, once only and in particular ways. See help(":=").

我仍然不确定是什么导致了错误,并且已经阅读了 help(":=")、常见问题解答和一些其他 (SO) 来源。有帮助吗?

注意:我应该提供有关上下文的更多详细信息。 func 是写在包中的函数。这让一切变得不同

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