r中因子汇总统计分析中的因子

时间:2016-12-08 20:21:57

标签: r

我有一个包含各种股票信息的数据框,我用它来创建关于公司名称的积极,消极或未确定的情绪。这些数据的负责人是:

 head(companyReturnsNameScore)
#----------
  PERMNO     date EXCHCD SICCD TICKER     PRC   VOL       RET SHROUT companyNameSentiment        companyName
1  85814 19980831      3  5960   CTAC  6.1875 27989 -0.489691   6431       Not Determined 1 800 CONTACTS INC
2  85814 20021231      3  5960   CTAC 27.5700 97498  1.177725  11388       Not Determined 1 800 CONTACTS INC
3  85814 19990129      3  5960   CTAC 14.7500  5658 -0.180556   6275       Not Determined 1 800 CONTACTS INC
4  85814 20021031      3  5960   CTAC  9.0300 20192 -0.097000  11382       Not Determined 1 800 CONTACTS INC
5  85814 20021129      3  5960   CTAC 12.6600 15474  0.401993  12082       Not Determined 1 800 CONTACTS INC
6  85814 20070731      3  5961   CTAC 23.2400  5574 -0.009378  13619       Not Determined 1 800 CONTACTS INC
  marketCap marketCapDeclile
1  39791.81                2
2 313967.16                6
3  92556.25                4
4 102779.46                4
5 152958.12                5
6 316505.56                6

我试图通过市值(marketCapDecile)的十分位数进行统计分析,但在每个十分位数范围内,我想进一步对每个情绪因素进行分析。这意味着对于每个十分位数,我希望看到每个因子水平的统计输出为“正,负,未确定”。"当我输入我认为是一系列因素的正确命令时,

by( companyReturnsNameScore$RET, c(companyReturnsNameScore$marketCapDeclile, 
                           companyReturnsNameScore$companyNameSentiment), summary)

我很遗憾地收到以下错误:

Error in tapply(seq_len(1785812L), list(`c(companyReturnsNameScore$marketCapDeclile, companyReturnsNameScore$companyNameSentiment)` = c(2L, 
   : arguments must have same length

市场上限十分位数有10个因子水平,情绪因子分类有3个因子水平,所以基本上我要进行30次分析......问题是,我在因子分析中难以执行该因素。

我做错了什么?如何在因子分析中执行因子?

1 个答案:

答案 0 :(得分:0)

你的第二个参数连接两个向量,使它们的长度是第一个参数的两倍:

  length( c( factor(1:5), factor(6:10) ) )
[1] 10

你有(至少)两个选择:要么使用list(注意?by的帮助功能说要使用列表,要么使用返回a的interaction函数单个向量的最长输入的长度:

 # 1
 by( companyReturnsNameScore$RET, 
      list( companyReturnsNameScore$marketCapDeclile, 
                       companyReturnsNameScore$companyNameSentiment),
      summary)
 # 2
 by( companyReturnsNameScore$RET, 
        interaction( companyReturnsNameScore$marketCapDeclile, 
                       companyReturnsNameScore$companyNameSentiment), 
        summary)
相关问题