我有如下数据表:
library(data.table)
dt <- fread(
"A B D E iso year
1 A 1 NA ECU 2009
2 B 2 0 ECU 2009
3 D 3 0 BRA 2011
4 E 4 0 BRA 2011
5 D 7 NA ECU 2008
6 E 1 0 ECU 2008
7 A 3 2 BRA 2012
8 A 4 NA BRA 2012",
header = TRUE
)
dt <- dt[, D := as.factor(D)]
我想为D
列分配属性。我尝试了以下方法:
alist <- list("A", "B", "C", "D", "E", "F", "G", "H")
attributes(dt$D) <- alist
但是我得到了错误:
Error in attributes(dt$D) <- alist : attributes must be named
我应该如何做?
尝试一下。
alist <- list(c("A", "B", "C", "D", "E", "F", "G", "H"))
attributes(dt$D) <- setNames(alist, c("D"))
输出为
> attributes(dt$D)
$D
[1] "A" "B" "C" "D" "E" "F" "G" "H"