gpt4 book ai didi

r - 选择 data.table R 中的列子集

转载 作者:行者123 更新时间:2023-12-03 06:16:52 25 4
gpt4 key购买 nike

我有一个包含一堆列的数据表,例如:

dt<-data.table(matrix(runif(10*10),10,10))

我想对数据表执行一些操作,例如生成相关矩阵( cor(dt) )。为此,我想删除一些包含非数字值或超出特定范围的值的列。

假设我想找到不包括 V1、V2、V3 和 V5 的相关矩阵。

这是我当前的方法:

cols<-!(colnames(dt)=="V1" | colnames(dt)=="V2" | colnames(dt)=="V3" | colnames(dt)=="V5")
new_dt<-subset(dt,,cols)
cor(new_dt)

考虑到 data.table 语法通常非常优雅,我发现这相当麻烦。有更好的方法吗?

最佳答案

使用with=FALSE:

cols = paste("V", c(1,2,3,5), sep="")

dt[, !cols, with=FALSE]

我建议浏览"Introduction to data.table"小插图。

<小时/>

更新:v1.10.2 开始,您还可以执行以下操作:

dt[, ..cols]

查看 v1.10.2 下的第一个新闻条目 here以获得更多解释。

关于r - 选择 data.table R 中的列子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28094645/

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