2016-08-05 11 views
0

Ich glaube, dass die Verwendung von Zeitreihen in R ausführlich bei Time series in R diskutiert wurde.Verwendung der Zeitreihe in R

Der obige Datensatz geht jedoch von einem numerischen Array in allen SO-Posts und Büchern aus, die ich bisher gelesen habe(). Was ist, wenn meine Daten auch kategorische Daten enthalten? Zum Beispiel

> head(sassign) 
    acctnum gender state zip zip3 first last book_ nonbook_ total_ purch child youth cook do_it refernce 
1 10001  M NY 10605 106 49 29 109  248 357 10  3  2 2  0  1 
2 10002  M NY 10960 109 39 27 35  103 138  3  0  1 0  1  0 
3 10003  F PA 19146 191 19 15 25  147 172  2  0  0 2  0  0 
4 10004  F NJ 07016 070  7 7 15  257 272  1  0  0 0  0  1 
5 10005  F NY 10804 108 15 15 15  134 149  1  0  0 1  0  0 
6 10006  F NY 11366 113  7 7 15  98 113  1  0  1 0  0  0 
    art geog buyer 
1 0 2 no 
2 0 1 no 
3 0 0 no 
4 0 0 no 
5 0 0 no 
6 0 0 yes 

Nun, hier ist was ich getan hätte zeit Serie Objekt von oben zu schaffen: - mein Ziel zu Gruppenzeilen ist „liest“ und anschließend Zeitreihenobjekttyp „letzten“ gelten Verwenden von Sassign.

t_sassign <-data.frame(group_by(sassign,last)) 
t_sassign<-ts(t_sassign,start = c(2014,1),frequency = 12) 

"Last" ist die Spalte mit den letzten 'n' Monaten seit dem Kauf. Der obige Code funktioniert gut, außer dass der Code Warnungen wirft.

Warning message: 
In data.matrix(data) : NAs introduced by coercion 

Warum passiert das? Bitte helfen Sie mir ... Meine Hypothese ist, dass ich NAs bekomme, weil R nicht weiß, wie man gemischte Daten gruppiert - gruppiert Spalten wie Staat (kategorisch) vs Buch_ (kontinuierlich). Hab ich recht?

Wenn jedoch meine Hypothese richtig ist, bin ich nicht ganz sicher, wie ich mit gemischten Daten umgehen kann. Wäre alles kategorisch gewesen, hätte ich CrossTabs benutzt. Wäre alles kontinuierlich gewesen, hätte ich Funktionen wie Summe, Median usw. benutzt. Mit gemischten Daten bin ich mir jedoch nicht ganz sicher.

Ich würde wirklich Ihre Gedanken schätzen.

Antwort

0

Nein. "NA" ist möglicherweise, weil ts die Zeichenwerte "Geschlecht", "Staat" und "Käufer" nicht in numerische Werte umwandeln kann. Wenn sie Faktoren sind, wird keine Warnmeldung angezeigt.

sassign = read.table(header = TRUE, text = " 
acctnum gender state zip zip3 first last book_ nonbook_ total_ purch child youth cook do_it refernce art geog buyer 
1 10001  M NY 10605 106 49 29 109  248 357 10  3  2 2  0  1 0 2 no 
2 10002  M NY 10960 109 39 27 35  103 138  3  0  1 0  1  0 0 1 no 
3 10003  F PA 19146 191 19 15 25  147 172  2  0  0 2  0  0 0 0 no 
4 10004  F NJ 07016 070  7 7 15  257 272  1  0  0 0  0  1 0 0 no 
5 10005  F NY 10804 108 15 15 15  134 149  1  0  0 1  0  0 0 0 no 
6 10006  F NY 11366 113  7 7 15  98 113  1  0  1 0  0  0 0 0 yes 
"); 
t_sassign <-data.frame(group_by(sassign,last)) 
t_sassign<-ts(t_sassign,start = c(2014,1),frequency = 12)