> df <- data.frame(date=c("1/1/1961", "1/2/1961", "1/3/1961 " ,"1/4/1961"),
+ mid=c(0.0,4.5,1.7,0.0))
> df
date mid
1 1/1/1961 0.0
2 1/2/1961 4.5
3 1/3/1961 1.7
4 1/4/1961 0.0
> df$newdate <- strptime(as.character(df$date), "%d/%m/%Y")
> df$txtdate <- format(df$newdate, "%m.%d.%Y")
> df
date mid newdate txtdate
1 1/1/1961 0.0 1961-01-01 01.01.1961
2 1/2/1961 4.5 1961-02-01 02.01.1961
3 1/3/1961 1.7 1961-03-01 03.01.1961
4 1/4/1961 0.0 1961-04-01 04.01.1961
或使用:
> df <- data.frame(date=c("1/1/1961", "1/2/1961", "1/3/1961 " ,"1/4/1961"),
+ mid=c(0.0,4.5,1.7,0.0))
> format(as.Date(df$date, format = "%d/%m/%Y"), "%d.%m.%Y")
[1] "01.01.1961" "01.02.1961" "01.03.1961" "01.04.1961"
> format(as.Date(df$date, format = "%d/%m/%Y"), "%m.%d.%Y")
[1] "01.01.1961" "02.01.1961" "03.01.1961" "04.01.1961"
谢谢,非常好。但我忘记提及我的数据是从1/1/1961持续到2010年12月31日,并且你的指令一直工作到每个月的第12天。任何想法??? – user3054327
在'as.Date'中,将'format =“%d /%m /%Y”'更改为'format =“%m /%d /%Y”' – Henrik
是的,,,非常感谢, – user3054327