2016-04-16 12 views
1

に私は私のデータフレームには、この行を挿入する必要があります。Rを挿入し、間違った年クラス日付

new_row<-c("015-06-17","1+-07-24",0,1,">=10") 

私はクラス日であり、列誕生日やMarriageDateで、この間違った日付を入れることができますどのように?

既存のデータフレーム:

BirthDate  MarriageDate  Sons  Daugther  Time  

    1952-10-05  1980-11-03  1    0   <10 
    1980-06-14  2002-05-20  0    2   >=10 

予想されるデータフレーム:私は、挿入後に正しい彼らのためのデータフレームでそれらを配置する必要があり

BirthDate  MarriageDate  Sons  Daugther  Time  

    1952-10-05  1980-11-03  1    0   <10 
    1980-06-14  2002-05-20  0    2   >=10 
    015-06-17   1+-07-24   0    1   >=10 

+0

私はそれをしたいと思いますが、私はそれを見ません。 –

+0

私はそれをしました。ありがとうございました! –

答えて

0

'df1'の列の種類については不明です。その後、

rbind(df1, as.list(new_row)) 

OR「息子」と「Daughther」のnumericであれば、すべてが「文字」であることを仮定すると、私たちは、それぞれのクラスにvectorの要素を変更する必要があります。

lst <- lapply(new_row, function(x) { 
       x1 <- type.convert(x) 
       if(is.factor(x1)) as.character(x1) else x1}) 

df2 <- rbind(df1, lst) 
df2 
# BirthDate MarriageDate Sons Daugther Time 
#1 1952-10-05 1980-11-03 1  0 <10 
#2 1980-06-14 2002-05-20 0  2 >=10 
#3 015-06-17  1+-07-24 0  1 >=10 

str(df2) 
#'data.frame': 3 obs. of 5 variables: 
#$ BirthDate : chr "1952-10-05" "1980-06-14" "015-06-17" 
#$ MarriageDate: chr "1980-11-03" "2002-05-20" "1+-07-24" 
#$ Sons  : int 1 0 0 
#$ Daugther : int 0 2 1 
#$ Time  : chr "<10" ">=10" ">=10" 
+0

あなたの答えをありがとうが、試した後、Rの応答は次のとおりです。charToDate(x)のエラー:文字列が標準的な明白な形式ではありません。 –

+0

@ E.bl 'BirthDate'と 'MarriageDate'が 'Date'クラスにある場合、' df1 [1:2] < - lapply(df1 [1:2]、as.character) '3行目が正しい '日付'形式ではないためです。 – akrun

+0

これを試しましたが、Rの応答は次のようになりました:警告メッセージ: '[< - 。factor'(' * tmp * '、iseq、value =" lunch "):無効な因子レベル、NA生成 –

関連する問題