与えられたデータフレームを取得するコードを記述し、欠落している列がないかどうかを確認します。 0またはNA。ここで私が持っているものです:R:列が見つからない場合はデータフレームに追加
> df
x1 x2 x4
1 0 1 3
2 3 1 3
3 1 2 1
> nameslist <- c("x1","x2","x3","x4")
> miss.names <- !nameslist %in% colnames(df)
> holder <- rbind(nameslist,miss.names)
> miss.cols <- subset(holder[1,], holder[2,] == "TRUE")
この点を超えると、私はそれをハードコーディングせずに不足した列(「×3」)に追加する方法を見つけ出すことはできません。理想的には、新しい完全なデータフレームにnameslistと同じ順序で列を持たせたいと思います。
アイデア?私の現在のコードは無視しても問題ありません。ここで
'Missing < - setdiff(nms、names(df))'を使うこともできます。これはやや透明です。 –
@HongOoi - 良い提案。それははるかに良いです、私はそれを含める答えを編集しました。ありがとう! –