用R中多个对象的信息填充data.table

用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

在一个大的函数中,我想创建一个“摘要表”。此汇总表汇总了函数中创建的多个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")=<externalptr>
现在,我创建了一个空的data.table
problem
,其中包含我想用来总结
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")])