2016-08-12 17 views
0

私はデータフレームの年の値を2桁の値に変換するにはどうすればよいですか?

yr <- format((Yr[,]), format = "%y") 

2桁の値に私のデータフレーム「YR」に記載された年を変換するために、この式を使ってノートを試してみました:YRは、年の値のすなわちで構成data.frameです。 2015年、2012年、1998年など、これらの値を変数yrに15,12,98の形式でそれぞれロードしようとしています。

+0

を日付または日時に 'format'を使用するには、最初の日付または日時にそれを解析する必要があります。単なる文字列または数字の場合は、おそらく 'substr'が行く方法です。 – alistaire

+0

a) 'format(Yr $ variable、" .. ")'のようなものが必要です.b)年変数が日付形式であることを確かめていますか? –

答えて

3

sprintf("%02d", Year %% 100)

Year <- 1960:2016 
sprintf("%02d", Year %% 100) 
# [1] "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" 
#[16] "75" "76" "77" "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" 
#[31] "90" "91" "92" "93" "94" "95" "96" "97" "98" "99" "00" "01" "02" "03" "04" 
#[46] "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15" "16" 

もう一つの方法は、@alistaireによってコメントとして、substrを使用することです:

substr(Year, 3, 4) 
# [1] "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" 
#[16] "75" "76" "77" "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" 
#[31] "90" "91" "92" "93" "94" "95" "96" "97" "98" "99" "00" "01" "02" "03" "04" 
#[46] "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15" "16" 
関連する問題