将`class`应用于数据表的列表列

时间:2017-04-01 15:50:40

标签: r data.table

考虑这个数据表:

for(var i = 0; i < mAttributes; i++){

    var inputBox = document.createElement('input');
    inputBox.setAttribute('class', 'form-control');
    inputBox.setAttribute('id', y);
    inputBox.setAttribute('placeholder', 'Attribute ' + y);
    parent.appendChild(inputBox);
    y++;
}

有人可以解释为什么下面的第二个操作始终返回library(data.table) DT <- data.table(A = c("a", "b", "c"), B = list(1, "x", "y"), key = "A") str(DT) ## Classes 'data.table' and 'data.frame': 3 obs. of 2 variables: ## $ A: chr "a" "b" "c" ## $ B:List of 3 ## ..$ : num 1 ## ..$ : chr "x" ## ..$ : chr "y" ## - attr(*, "sorted")= chr "A" ## - attr(*, ".internal.selfref")=<externalptr> ? (我期待numeric numeric character)。

character

1 个答案:

答案 0 :(得分:0)

这是另一种获得与sapply

相同的输出的方法
DT[, C := unlist(lapply(B, class))]

输出所有numeric课程的第二种情况的原因是因为我们找到了第一个class元素listnumeric并分配了(:=)它到整个专栏。