我是R的新手,因此遇到此问题: 我有一个包含一些日期和时间列的大型数据集(csv文件和Rdata文件)。 section of the dataset
我应该使用它进行一些计算和一些数据可视化,但是convertedTime列会出现问题。如果使用excel打开,我应该将其可视化为“分钟:秒(十进制)”,因为我确实在csv文件中将其可视化。我应该使用与excel文件所示的格式相同的格式。 Excel sample of timeConverted。
当我将数据加载到R中(我尝试过两种格式)时,convertedTime以其完整格式表示。如何将它们转换为%M:%OS1?
keyData <- read.csv('keyPressDataWithLaneDeviation.csv')
print(head(keyData))
library(dplyr)
keyDataNoError <- filter(keyData, typingErrorMadeOnTrial ==0)
print(head(keyDataNoError))
strptime(keyDataNoError$timeConverted, format = "%M:%0S1")
print(head(keyDataNoError))
在过滤数据集后,我尝试格式化没有结果的时间。最后两张打印的输出相同。我哪里错了? 我尝试做的另一件事是改为加载Rdata文件。但是有了Rdata文件,我什至没有在ConvertedTime列中得到小数,而且我真的不明白为什么。
答案 0 :(得分:1)
您要查找的是strftime
,而不是strptime
。
strftime(keyDataNoError$timeConverted, format = "%M:%0S1")
例如:
a<-"2018-02-24 11:30:05.105"
strftime(a, format="%M:%OS1")
[1] "30:05.1"
strftime(a, format="%M:%OS3")
[1] "30:05.105"
strftime(a, format="%M:%OS5")
[1] "30:05.10500"
请注意,strftime
输出一个character
类对象,而不是POSIXt
类。