[R] noob requesting help
capital_P
petervw48 at hotmail.com
Sun Jun 17 13:19:27 CEST 2012
Rui Barradas wrote
>
> It's stringsAsFactors = FALSE, just one '='.
>
> sapply(dat, length)
>
> It should return 4 times the value 34773.
>
> use dput()
>
it worked!
> dat2 <- data.frame(dat, stringsAsFactors = FALSE)
> sapply(dat2, length)
device_info_serial hour time
34773 34773 34773
tripID
34773
> dput(head(dat2, 20))
structure(list(device_info_serial = c(121L, 121L, 121L, 121L,
121L, 121L, 121L, 121L, 121L, 121L, 121L, 121L, 121L, 121L, 121L,
121L, 121L, 121L, 121L, 121L), hour = c(10L, 11L, 11L, 11L, 11L,
11L, 11L, 11L, 11L, 11L, 11L, 11L, 12L, 12L, 12L, 12L, 12L, 12L,
12L, 13L), time = structure(c(1242896364, 1242896671, 1242897111,
1242897399, 1242897686, 1242897978, 1242898281, 1242898589, 1242898916,
1242899253, 1242899542, 1242899835, 1242901122, 1242901902, 1242902199,
1242902489, 1242902807, 1242903096, 1242903402, 1242903708), class =
c("POSIXct",
"POSIXt"), tzone = ""), tripID = c(3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L)), .Names =
c("device_info_serial",
"hour", "time", "tripID"), row.names = c(NA, 20L), class = "data.frame")
>
> departures <- lapply(split(dat2, list(dat2$device_info_serial,
> dat2$tripID)), function(x) x[x$time == min(x$time),])
Now I have a new problem:
I need to make a histogram of the hours (in this case, their time of
departure), for the whole population and for each bird seperately.
Before, I used this:
hist(active$hour, breaks = 24, xlim=c(0,24))
and:
b121 <- active[which(active$device_info_serial == 121),]
b130 <- active[which(active$device_info_serial == 130),]
b132 <- active[which(active$device_info_serial == 132),]
b133 <- active[which(active$device_info_serial == 133),]
etc.
But now there are no departures$device_info_serial or departures$hour,
because departures is a list, not a data frame.
I've tried:
> dep <- data.frame(departures, stringsAsFactors = FALSE)
Error in data.frame(`121.1` = list(device_info_serial = integer(0), hour =
integer(0), :
arguments imply differing number of rows: 0, 1, 2
> dep <- data.frame(departures)
Error in data.frame(`121.1` = list(device_info_serial = integer(0), hour =
integer(0), :
arguments imply differing number of rows: 0, 1, 2
--
View this message in context: http://r.789695.n4.nabble.com/noob-requesting-help-tp4632803p4633637.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list