2016-07-03 5 views
0

if else文を使用して、値が10未満の場合はゼロを前に付けます。私はすべての私の日付を2桁にしようとしています。手伝ってください。あなたが新しい列に先行ゼロでただ一日を出力しようとしている場合は日付を操作するためにelse文を使用する場合

if(df$col < 10){ 
paste '0' 
else df$col 
} 

私は

EventID SampleDate SampleTime 
130466 3/19/2008 12:30:00 
131392 4/30/2008 08:45:00 
131658 5/14/2008 10:00:00 
117770 6/11/2008 08:45:00 
118680 7/23/2008 09:15:00 
118903 8/6/2008 09:00:00 

SampleDatech year month day2 
3/19/2008 2008  3 19 
4/30/2008 2008  4 30 
5/14/2008 2008  5 14 
6/11/2008 2008  6 11 
7/23/2008 2008  7 23 
8/6/2008 2008  8 6 
+0

サンプルデータを表示できますか?これを行うためのよりよいアプローチかもしれない日付フォーマッターがあります。 –

+1

先頭に0を埋め込んでいますか? http://stackoverflow.com/questions/14409084/pad-with-leading-zeros-to-common-width – rawr

+0

'df $ col'が何であるか分かりませんが、' if'はベクトル化されていないことに注意してください。 'ifelse '属性(日付など)を取り除きます。ただし、ここには日付クラスに変換する必要があります。 'df $ SampleDate < - as.Date(df $ SampleDate、format ='%m /%d /%Y ') 'またはdatetimeクラスです。 'df $ SampleDateTime < - as.POSIXct(paste(df $ SampleDate、df $ SampleTime)、format = '%m /%d /%Y%H:%M:%S')' – alistaire

答えて

0

異なる列にそれを打破しようとしていた、あなたはstrftimeの組み合わせを使用することができますし、 as.Date

​​

それとも、全体の日付を維持していますが、これを行うことができます一日に先行ゼロを追加したい場合。

df$NewDate = strftime(as.Date(df$SampleDate, "%m/%d/%y"), "%m/%d/%Y")

関連する問題