【发布时间】:2018-06-01 15:00:17
【问题描述】:
我正在尝试对我的数据集的子组运行测试 (Jarque-Bera)。我正在尝试为此使用purrrs 函数map(),但不知何故它对我来说失败了。
对于这里的示例,我将使用内置的ChickWeightdataset:
加载一些包:
library(dplyr)
library(ggplot2)
library(tidyr)
library(purrr)
library(tseries)
数据如下:
ggplot(ChickWeight, aes(weight, fill = Diet)) +
geom_histogram() +
facet_wrap(~Diet)
我现在尝试对饮食 1、2、3 和 4 亚组使用 Jarque-Bera 检验。
我知道如何在这样的组中使用它:
ChickWeight %>%
filter(Diet == 1) %>%
pull(weight) %>%
jarque.bera.test()
返回:
Jarque Bera Test
data: .
X-squared = 46.687, df = 2, p-value = 7.278e-11
但是现在,我想为所有子组执行此操作。所以我像这样嵌套数据:
nst <- ChickWeight %>%
nest(-Diet)
现在我想我可以立即应用 purrrs map() 函数,但有些失败:
tsts <- nst %>%
map(jb = map(data, jarque.bera.test(weight)))
返回:
as_mapper(.f, ...) 中的错误:缺少参数“.f”,没有默认值
我也试过了:
tsts <- nst %>%
mutate(jb = map(data, jarque.bera.test(weight)))
这就产生了:
mutate_impl(.data, dots) 中的错误: 评估错误:找不到对象“重量”。
【问题讨论】: