我认为在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
现在,我从上面创建了时间序列对象: - 我的目标是使用" last"然后将时间序列类型的对象应用于" last"使用sassign。
t_sassign <-data.frame(group_by(sassign,last))
t_sassign<-ts(t_sassign,start = c(2014,1),frequency = 12)
&#34;最后&#34;是指示最后一个&#39; n&#39;购买后数月。 上面的代码很有效,除了代码抛出警告。
Warning message:
In data.matrix(data) : NAs introduced by coercion
为什么会这样?请帮助我...我的假设是我得到了NAs,因为R不知道如何对混合数据进行分组 - 分组列(如state(分类)和book_(连续))。我对么?
但是,如果我的假设是正确的,我不太确定如何处理混合数据。如果一切都是绝对的,我会使用CrossTabs。如果它一直都是连续的,我会使用诸如总和,中位数等函数。但是,对于混合数据,我不太确定。
我真的很感激你的想法。
答案 0 :(得分:0)
没有。 “NA”可能是因为ts无法将“性别”,“州”和“买方”的字符值转换为数字。当它们是因素时,不会出现警告信息。
mysql -u USERNAME -p
use DBNAME;