用R中多个对象的信息填充data.table
在一个大的函数中,我想创建一个“摘要表”。此汇总表汇总了函数中创建的多个R对象的信息。这些对象是: 包含限制信息的数据表用R中多个对象的信息填充data.table,r,loops,data.table,R,Loops,Data.table,在一个大的函数中,我想创建一个“摘要表”。此汇总表汇总了函数中创建的多个R对象的信息。这些对象是: 包含限制信息的数据表 > str(limit) Classes ‘data.table’ and 'data.frame': 1 obs. of 3 variables: $ id : num 6292 $ type : chr "DAILY" $ value: chr "350" - attr(*, ".internal.selfref")=<external
> str(limit)
Classes ‘data.table’ and 'data.frame': 1 obs. of 3 variables:
$ id : num 6292
$ type : chr "DAILY"
$ value: chr "350"
- attr(*, ".internal.selfref")=<externalptr>
现在,我创建了一个空的data.tableproblem
,其中包含我想用来总结mydata
中超出限制的元素的行:
problem <- data.table("LIMITid" = character(),
"LIMITtype" = character (),
"LIMITvalue" = character (),
"amount" = double(),
"customerID" = character())
如何填充数据表
?我正在考虑使用循环,但我不确定如何在元素中的位置上循环-n%n%n在%nRownNames(mydata)
?这行得通吗
library(data.table)
data.table(limits, amount = mydata$amount[n], customerID = mydata$customerID[n])
我们可以在
.SDcols
中指定感兴趣的列,然后使用“n”提供的索引对.SD
(Data.table的子集)进行子集化,并使用“limits”数据集对cbind
进行子集化
library(data.table)
cbind(limits, mydata[, .SD[n], .SDcols = c("amount", "customerID")])
这将创建新列
amount
和customerID
,从而产生重复的列名。。。但除此之外,是的,这正是我想要的。。。我怎样才能避免创建新的列而使用现有的列呢?只是问:limits有没有不同的方法来解决这个问题。。。我的变通方法在之后导致错误all@Danka如何获得重复列<代码>限额
没有金额
和客户ID
,对吗?此外,您可以将名称更改为任何您想要的名称。我不明白你得到了什么错误?这不是绑定列吗?@Danka除了cbind
,这是数据表wayah好的,我明白了。。。我发现.SD
部分有点混乱,但我发现.SD[n]
占用了我需要的所有行。。。非常感谢
library(data.table)
data.table(limits, amount = mydata$amount[n], customerID = mydata$customerID[n])
library(data.table)
cbind(limits, mydata[, .SD[n], .SDcols = c("amount", "customerID")])