我已经将一个.csv文件导入到R中。这些文件有几列(我简化为 4 列(,其中两列 - assigned
和 completed
- 应该是日期,但是,它们作为"字符"出现。我需要将它们读作日期。
我花了几个小时寻找和尝试不同的东西,但找不到解决方案。这是数据的样子(前 3 行,我总共有 5K 行(:
id assigned completed score
1: 54 11/10/16 11/10/16 0
2: 54 11/21/16 11/21/16 7
3: 54 1/26/17 1/26/17 11
> summary(data_subset)
id assigned completed
Min. : 54 Length:5991 Length:5991
1st Qu.: 1375 Class :character Class :character
Median : 1910 Mode :character Mode :character
Mean : 2145
3rd Qu.: 2199
Max. :10410
score
Min. : 0.00
1st Qu.: 4.00
Median : 7.00
Mean : 8.33
3rd Qu.:12.00
Max. :27.00
NA's :1
我尝试在assigned
列上lubridate
,但它覆盖了NA的所有值。
library(lubridate)
data_subset$assigned <- mdy(data_subset$assigned)
id assigned completed score
1: 54 <NA> 11/10/16 0
2: 54 <NA> 11/21/16 7
3: 54 <NA> 1/26/17 11
我正在寻找一种方法来使assigned
和completed
被读取为日期 - 无论是在.csv导入期间发生,还是在R中之后通过数据操作。
后的操作方法:
data_subset$assigned <- as.Date(data_subset$assigned,'%m/%d/%y') # This uses base R
data_subset$completed <- as.Date(data_subset$completed,'%m/%d/%y') # The '%/m/%d/%y' specifies the format of your date
旁注:我一直在研究类似的问题,lubridate
最近一直在做奇怪的事情。我怀疑原因可能部分与R版本有关。 lubridate
似乎在R 3.3.3上比在r-Microsoft 3.3.3上工作得更好。我在 r-mircosoft 发行版上缺少软件包中的某些功能。也许缺少一些底层功能,导致所有内容都转到 NA。同样,这只是猜测,但也许它会带来答案。