2017-10-14 14 views
1

カラムがid,beginendの空のデータテーブルdtを作成しました。空のデータテーブルに値を追加できません

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

オプション1:使用rbind()。これはデフォルトでrbindlist()になります。fill = TRUEを使用することができます。 1つの変数だけに多くの値を追加したい場合は、単純さの利点があります。

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:idに1を割り当て、次いでdt[1]NAの行を作成します。ここで問題となるのは、他の列にも名前を付ける必要があるということです。多くの列がある場合、これは有用ではない可能性があります。

dt[1, .(id = 1, begin, end)] 
# id begin end 
# 1: 1 NA NA 
1

あなたは使用することができます:rbind(dt, list(1, NA, NA))

関連する問題