【发布时间】:2016-01-05 15:39:04
【问题描述】:
我无法将包含工作日的 .csv 数据列转换为数字(因此 1 = 星期一、2 = 星期二、3 = 星期三等)。我正在尝试使用 strptime 功能,如下所示:http://www.inside-r.org/r-doc/base/strftime
由于我想将工作日转换为数字,因此我使用了“%u”格式选项。下面是我的代码:
> newweekdaynum <- strptime(SFCrimeData$DayOfWeek, "%u")
SFCrimeData 是我拥有的包含大量犯罪信息的数据集。运行语句后没有出现错误,但是当我想打印“newweekdaynum”时,出现的只是一个巨大的值表,所有值都显示为“NA”。
我做错了什么?
【问题讨论】:
-
如果你有
v1 <- c('Monday', 'Tuesday', ....'Sunday'); factor(v1, levels=c('Monday',,.., 'Sunday'), labels=1:7)或使用?match -
请
dput(SFCrimeData$DayOfWeek)并将输出添加到您的帖子中。 -
@Pascal,SFCrimeData 文件有大约 800k 行,所以我不能在这里完全粘贴完整的输出,但我运行了命令,基本上它是一个从 1 到 10 的数字,带有一个“L”紧随其后。
-
@RaleighL。你试过我建议的
factor方法吗? -
@erasmortg 所以我跑了一遍,然后又得到了一大组带有数字和 L 的数据,然后在底部我有这个
.Label = c("Friday", "Monday", "Saturday", "Sunday","Thursday", "Tuesday", "Wednesday"), class = "factor")[1] Wednesday Wednesday Wednesday Wednesday Wednesday@987654330 @Levels: Friday Monday Saturday Sunday Thursday Tuesday Wednesday。如何从每个值中去除 L,使其只是整数本身?