2017-06-11 1 views
1

空のデータフレームを残し、後でそれに行値を追加します。私は、データフレームを作成する方法は以下の通りです:私はあなたの次のコマンドの結果を示してデータフレームにNA値を挿入するR

result_df <- rbind(result_df, list("D W MCMILLAN MEMORIAL HOSPITAL", "AL")) 

は同じように、余分な情報:

str(result_df) 

'data.frame': 1 obs. of 2 variables: 
$ X.D.W.MCMILLAN.MEMORIAL.HOSPITAL.: Factor w/ 1 level "D W MCMILLAN MEMORIAL HOSPITAL": 1 
$ X.AL.       : Factor w/ 1 level "AL": 1 

result_df <- data.frame("Hospital" = character(), "State" = character(), stringsAsFactors = FALSE) 

それから私は、最初の行を追加します

そしてIは

result_df <- rbind(result_df, list("ARKANSAS METHODIST MEDICAL CENTER", "TX")) 
データフレームに次の行を追加します

これは私が得るものです:私は、これはstringAsFactorsを使用して解決できると思います= FALSE

X.D.W.MCMILLAN.MEMORIAL.HOSPITAL. X.AL. 
1 D W MCMILLAN MEMORIAL HOSPITAL AL 
2        <NA> <NA> 

Warning messages: 
1: In `[<-.factor`(`*tmp*`, ri, value = "ARKANSAS METHODIST MEDICAL CENTER") : 
    invalid factor level, NA generated 
2: In `[<-.factor`(`*tmp*`, ri, value = "TX") : 
    invalid factor level, NA generated 

は、私は、このデータフレームの内容を見ることがresult_df入力するときは、その結果でありますいずれにもこの問題に関するアイデアはありますか?

+1

からrbindlistを使用することができます。 'data.frame'のサイズと使用する行のインデックスを事前に定義しておく必要があります。最悪の場合のシナリオでは、 'result_df [1、] < - c(" DW MCMILLAN MEMORIAL HOSPITAL "、" AL ")'と 'result_df [2、] < - c(" ARKANSAS 「メディストメディカルセンター」、「TX」)。しかしもう一度、これは深いコピーを作るでしょう、代わりに、あなたのデータフレームaprioriの占有を事前に定義する方が常に良いです。 –

答えて

0

rbind関数は同じ列名を持つ必要があります。同じ列名を使用してデータフレームを作成した場合は、これらのデータフレームをNAなしで組み合わせることができます。

result_df <- rbind(result_df, data.frame(Hospital = "D W MCMILLAN MEMORIAL HOSPITAL", 
             state = "AL", 
             stringsAsFactors = FALSE)) 

result_df <- rbind(result_df, data.frame(Hospital = "ARKANSAS METHODIST MEDICAL CENTER", 
             state = "TX", 
             stringsAsFactors = FALSE)) 

これは最終出力です。

print(result_df) 
          Hospital state 
1 D W MCMILLAN MEMORIAL HOSPITAL AL 
2 ARKANSAS METHODIST MEDICAL CENTER TX 
+0

ダウンヴィートの理由は不明です。この回答が不十分である理由を自由に指摘してください。 – www

+1

私はまた、これのためのDVDを持っています。なぜそれが夢中になっているのかわからない – akrun

+0

すごい!!ありがとう!!私の問題を解決しました。 –

0

我々は、行を追加するために `rbind`を使用しないでくださいdata.table

library(data.table) 
rbindlist(list(result_df, list("D W MCMILLAN MEMORIAL HOSPITAL", "AL"))) 
#       Hospital State 
#1: D W MCMILLAN MEMORIAL HOSPITAL AL 
関連する問題