R 将系数转换为日期而不创建NA';s
到目前为止,我在转换系数方面遇到了问题;这就是我不想要的NA值 我的问题的数据可以在这里找到:() “因素” 这很奇怪,因为从上面的头部(x)看,它看起来像是约会。无论如何,为了得到bin值,使每个数据点对应于给定日期的总和,使用切割函数,我需要将日期更改为“date”类R 将系数转换为日期而不创建NA';s,r,class,date,cut,na,R,Class,Date,Cut,Na,到目前为止,我在转换系数方面遇到了问题;这就是我不想要的NA值 我的问题的数据可以在这里找到:() “因素” 这很奇怪,因为从上面的头部(x)看,它看起来像是约会。无论如何,为了得到bin值,使每个数据点对应于给定日期的总和,使用切割函数,我需要将日期更改为“date”类 如果我将其与我在x[,2]之前看到的进行比较,只是为了举例说明,这些都会产生相同的输出(当然日期列的类除外): xmy\u data您只需设置正确的格式分隔符“-”not“\”即可获得:as.Date(x[,2],format
如果我将其与我在
x[,2]之前看到的进行比较,只是为了举例说明,这些都会产生相同的输出(当然日期列的类除外):
xmy\u data您只需设置正确的格式分隔符“-”not“\”即可获得:as.Date(x[,2],format=“%Y-%m-%d”)
这一切对我来说似乎都很困惑。如果您拥有的是日期,而不是日期时间,并且您需要按天进行聚合,那么为什么您需要使用cut
?数据已经达到您想要的粒度。然后是agstudy提到的格式问题,以及cut
总是返回一个间隔因子的事实,因此强制将其结果恢复到最新状态是没有意义的。
x <- read.csv("activity.csv")
head(x)
steps date interval
1 NA 2012-10-01 0
2 NA 2012-10-01 5
3 NA 2012-10-01 10
4 NA 2012-10-01 15
5 NA 2012-10-01 20
6 NA 2012-10-01 25
x$Day <- as.Date(cut(x$date, breaks = "day"))
Error in cut.default(x$date, breaks = "day") : 'x' must be numeric
class(x[,2])
x[,2] <- as.Date(x[,2], format="%Y/%m/%d")
class(x[,2])
x$Day <- as.Date(cut(x$date, breaks = "day"))
head(is.na(x))
steps date interval
[1,] TRUE TRUE FALSE
[2,] TRUE TRUE FALSE
[3,] TRUE TRUE FALSE
[4,] TRUE TRUE FALSE
[5,] TRUE TRUE FALSE
[6,] TRUE TRUE FALSE
head(is.na(x))
steps date interval
[1,] TRUE FALSE FALSE
[2,] TRUE FALSE FALSE
[3,] TRUE FALSE FALSE
[4,] TRUE FALSE FALSE
[5,] TRUE FALSE FALSE
[6,] TRUE FALSE FALSE
sessionInfo()
R version 3.0.3 (2014-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_Canada.1252
[2] LC_CTYPE=English_Canada.1252
[3] LC_MONETARY=English_Canada.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_Canada.1252
attached base packages:
[1] stats graphics grDevices utils
[5] datasets methods base
other attached packages:
[1] scales_0.2.4 ggplot2_1.0.0
loaded via a namespace (and not attached):
[1] colorspace_1.2-4 digest_0.6.4
[3] grid_3.0.3 gtable_0.1.2
[5] MASS_7.3-29 munsell_0.4.2
[7] plyr_1.8.1 proto_0.3-10
[9] Rcpp_0.11.1 reshape2_1.4
[11] stringr_0.6.2 tools_3.0.3
x <- read.csv("~/Downloads/activity.csv")
# Date is a factor
r1 <- aggregate(steps~date,data = x,FUN = mean)
x1 <- read.csv("~/Downloads/activity.csv",stringsAsFactors = FALSE)
# Date is a character
r2 <- aggregate(steps~date,data = x1,FUN = mean)
x2 <- x
x2$date <- as.Date(as.character(x$date))
# Date is a date
r3 <- aggregate(steps~date,data = x2,FUN = mean)
my_data <-
read.csv(your_file, stringsAsFactors = FALSE)
# Convert 'my_data$date' to Date format
my_data$date <-
as.Date(my_data$date)