【发布时间】:2016-07-03 00:35:30
【问题描述】:
我正在尝试做一个 if else 语句来说明如果值小于 10,则在前面添加一个零,如果不是则保持原样。我试图让我所有的日期都是 2 位数。请协助。
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填充? stackoverflow.com/questions/14409084/…
-
不知道
df$col是什么,但请注意if不是矢量化的,ifelse会去除属性(如日期)。但是,对于这里的内容,您应该将它们转换为日期类,例如df$SampleDate <- as.Date(df$SampleDate, format = '%m/%d/%Y')或日期时间类,例如df$SampleDateTime <- as.POSIXct(paste(df$SampleDate, df$SampleTime), format = '%m/%d/%Y %H:%M:%S') -
df$col甚至没有出现在您提供的数据中。paste '0'不是有效的 R 语法。以及@alistaire 所说的。投票结束,因为不清楚。
标签: r date-formatting