2016-08-05 17 views
0

Rの時系列の使用については、長さがTime series in Rであると考えています。Rの時系列の使用

しかし、上記のデータセットは、これまでに読んだすべてのSO投稿と書籍(https://media.readthedocs.org/pdf/a-little-book-of-r-for-time-series/latest/a-little-book-of-r-for-time-series.pdf)に数値配列を仮定しています。データにカテゴリデータも含まれている場合はどうなりますか?例えば、

> 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 

、ここで私は上から時系列オブジェクトを作成するためにやったことだ: - 私目的は「最後」にオブジェクトの「最後」とし、適用時系列タイプを使用して、グループの行にありますsassignを使って

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

「最後」は、購入から最後のnヶ月を示す列です。 上記のコードは、コードが警告をスローしていることを除いて、うまく機能します。

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

どうしてですか?助けてください...私の仮説は、州(カテゴリー)v本(連続)のような混合データグループ化グループをどのようにグループ化するのかRが分からないため、NAsを取得しているということです。私は正しいですか?

しかし、私の仮説が正しいとすれば、私は混合データをどのように扱うことができるのかよく分かりません。すべてカテゴリになっていたら、私はCrossTabsを使用していたでしょう。それがすべて連続的であれば、私は合計、中央値などの関数を使用していたでしょう。しかし、混合データでは、私はあまりよく分かりません。

本当にありがとうございます。

答えて

0

「NG」は、「gender」、「state」、「buyer」の文字値を数値に変換できないためです。それらが要因の場合、警告メッセージは表示されません。

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)