R 使数据具有相同的时间戳结构

R 使数据具有相同的时间戳结构,r,R,我的时间数据采用以下格式: datatimedf = data.frame(day_time = c('Apr 2005', '1992', "2004", "Jan 2001", "2015")) 我想在只有年份的行中添加Jan 怎么可能做到呢 预期输出的一个例子如下: datatimedf = data.frame(day_time = c('Apr 2005', 'Jan 1992', "Jan 2004", "Jan 2001", "Jan 2015")) 我只有一行是这样的: x[

我的时间数据采用以下格式:

datatimedf = data.frame(day_time = c('Apr 2005', '1992', "2004", "Jan 2001", "2015"))
我想在只有年份的行中添加Jan

怎么可能做到呢

预期输出的一个例子如下:

datatimedf = data.frame(day_time = c('Apr 2005', 'Jan 1992', "Jan 2004", "Jan 2001", "Jan 2015"))
我只有一行是这样的:

x[2,1] <- sub("^", "Jan ", x[2,1])

x[2,1]这里有一个使用
dplyr的快速方法:

library(dplyr)

datatimedf$day_time <- as.character(datatimedf$day_time)
datatimedf <- datatimedf %>% 
    transform(day_time = ifelse(nchar(day_time) == 4, paste("Jan", day_time), day_time))

#> day_time
#> 1 Apr 2005
#> 2 Jan 1992
#> 3 Jan 2004
#> 4 Jan 2001
#> 5 Jan 2015
库(dplyr)
datatimedf$日时间日时间
#>2005年4月1日
#>1992年1月2日
#>2004年1月3日
#>2001年1月4日
#>2015年1月5日
对于每一行,它检查字符串的长度是否为4,如果为4,则在开头添加
“Jan”
,否则保留原始字符串。这不太适用于其他情况,但如果您想让它更通用,并且能够处理更多类型的输入,那么应该开始使用它