【问题标题】:Is it necessary to use factor to INDEX argument for tapply in r? [duplicate]r中的tapply是否有必要在INDEX参数中使用因子? [复制]
【发布时间】:2016-07-21 02:34:33
【问题描述】:
x

#X Income Commute Job.Growth Physicians
#1  A  26000    49.2       10.8       1987
#2  B  29300    45.3        9.5        517
#3  C  24800    39.8        8.2        592
#4  D  27900    46.8        7.6       3310
#5  E  37500    39.9       12.2        975
#6  A  26058    47.8       10.3        647
#7  B  33479    48.1       12.2        714
#8  C  28869    39.6       12.7        803
#9  D  37567    47.9       10.1        888
#10 E  30215    39.0       10.8        672
#11 A  38772    47.5       10.2        975
#12 B  34577    44.4       10.2        519
#13 C  39978    46.8       11.3        510
#14 D  34466    48.2        8.2        832
#15 E  29128    49.1       10.6        590



tapply(x$Income, x$X, mean)

#       A        B        C        D        E 
#30276.67 32452.00 31215.67 33311.00 32281.00 

str(x$X)

# chr [1:15] "A" "B" "C" "D" "E" "A" "B" "C" "D" "E" "A" "B" "C" "D" "E"

在 R 文档中,

INDEX:一个或多个因子的列表,每个因子的长度与 X 相同。元素被 as.factor 强制转换为因子。

据我了解,这意味着我必须使用 INDEX 参数作为因素。在我的示例中,虽然 INDEX 参数不是因素,但结果是正确打印的。

这是因为 R 文档有误还是我误解了 R 文档?

【问题讨论】:

    标签: r tapply


    【解决方案1】:

    没有。文档说INDEX 将被强制转换为一个因素,如果它不是一个因素的话。所以,如果你传入一个因子,那么tapply 会立即使用它;如果没有,tapply 将首先进行强制。

    【讨论】:

      猜你喜欢
      • 2021-07-12
      • 2016-01-18
      • 2020-01-25
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 2019-12-19
      相关资源
      最近更新 更多