我創建了一個空數據表dt
,其中列id
,begin
和end
。無法將數值添加到空數據表中
library(data.table)
dt <- data.table(id=numeric(), begin=numeric(),end=numeric())
我試圖給列id
的第一行添加值1。
dt$id[1] <- 1
但它的值仍然是NA
。我不知道什麼是錯的。
dt$id[1]
# [1] NA
我創建了一個空數據表dt
,其中列id
,begin
和end
。無法將數值添加到空數據表中
library(data.table)
dt <- data.table(id=numeric(), begin=numeric(),end=numeric())
我試圖給列id
的第一行添加值1。
dt$id[1] <- 1
但它的值仍然是NA
。我不知道什麼是錯的。
dt$id[1]
# [1] NA
選項1:使用rbind()
。默認爲rbindlist()
,這使我們可以使用fill = TRUE
。在我們想爲一個變量添加許多值的情況下,它具有簡單性的優點。
rbind(dt, list(id = 1), fill = TRUE)
# id begin end
# 1: 1 NA NA
rbind(dt, list(id = 1:4), fill = TRUE)
# id begin end
# 1: 1 NA NA
# 2: 2 NA NA
# 3: 3 NA NA
# 4: 4 NA NA
選項2:創建的NA
與dt[1]
行然後分配1至id
。這裏的問題是我們必須命名其他列。如果我們有很多列,這可能沒有用處。
dt[1, .(id = 1, begin, end)]
# id begin end
# 1: 1 NA NA
您可以使用:rbind(dt, list(1, NA, NA))