ゼロ行への追加は、すでに行を含むdata.frame
への追加とは異なる動作をしますdata.frame
から?rbind
rbind データ フレーム メソッドは、最初にゼロ列とゼロ行の引数をすべて削除します。(何も残さない場合は、最初の引数を列とともに返します。それ以外の場合は、列がゼロ行のデータ フレームです。)次に、最初のデータ フレームから列のクラスを取得し、列を (位置ではなく) 名前で照合します。 . 因子は、必要に応じてレベルが展開され (発生した因子のレベルセットのレベルの順序で)、すべてのコンポーネントが順序付き因子である場合にのみ、結果は順序付き因子になります。(最後の点が S-PLUS とは異なります。) 古いスタイルのカテゴリ (レベルを持つ整数ベクトル) は因子に昇格されます。
いくつかのオプションがあります --
最も簡単な
compData[1, ] <- c(5, 443)
より複雑
c(5,433)
または、リストまたは data.frame に強制することもできます
rbind(compData,setNames(as.list(c(5,443)), names(compData)))
また
rbind(compData,do.call(data.frame,setNames(as.list(c(5,443)), names(compData))))
しかし、この場合、あなたもそうするかもしれません
do.call(data.frame,setNames(as.list(c(5,443)), names(compData)))
data.table オプション
チェックを少なくして、最初の data.frame の名前を保持するdata.table
関数を使用できます。rbindlist
library(data.table)
rbindlist(list(compData, as.list(c(5,443))