2017-07-25 1 views
1

Daten:

structure(list(datetime = structure(c(6L, 2L, 4L, 5L, 1L, 3L), .Names = c("V1", 
"V2", "V3", "V4", "V5", "V6"), .Label = c(" 2016-12-01 00:00:30", 
" 2016-12-01 00:02:17", " 2016-12-01 00:06:17", " 2016-12-01 00:28:10", 
" 2016-12-01 01:17:02", "2016-12-01 00:00:00"), class = "factor")), .Names = "datetime", row.names = c("V1", 
"V2", "V3", "V4", "V5", "V6"), class = "data.frame") 

-CodeErstellen einer neuen Spalte Zusammenfassungsdaten in R mit

library(lubridate) 
library(dplyr) 

data$datetime <- ymd_hms(data$datetime) 
data <- dplyr::arrange(data, datetime) 
data$hour <- cut.POSIXt(data$datetime, "hour") 
data %>% group_by(hour) %>% summarize(count = n()) 

Ausgang A tibble: 2 x 2 Stunden Zählung 1 2016-12 -01 00:00:00 5 2 2016-12-01 01:00:00 1

Output in dem ursprünglichen Datensatz Datumzeit Hour 2016-12-01 00:00:00 00 2016-12-01 00:00:01 00

gewünschter Ausgang

DateTime  Hour Count 
       <fctr> <int> 
1 2016-12-01 00:00:00  5 
2 2016-12-01 01:00:00  1 

Ich möchte die Anzahl der Datensätze in jeder Stunde anzeigen und diese Nummer in eine neue Spalte namens count eingeben. Ich hoffe, ihr habt mein Problem verstanden. Bitte helfen Sie mir Jungs ..

Antwort

0

Die Option wäre separate in das kann %>%

library(tidyr) 
res <- data %>% 
     group_by(hour) %>% 
     summarize(count = n()) %>% 
     separate(hour, into = c('DateTime', 'Hour'), sep=' ') 

Die group_by/summarize hinzufügen Dies zeigt nur count

res <- count(data, hour) %>% 
      separate(hour, into = c('DateTime', 'Hour'), sep=' ') 
+0

geändert werden, um die Zusammenfassung in R Konsole. Es erstellt keine neue Spalte in meinem Dataset mit Zählwerten. wie geht das?? –

+1

Ohh Vielen Dank Kumpel. Prost!!! –

Verwandte Themen