这是对我之前提出(并已得到回答)关于从多输出函数中提取特定输出的问题的后续。我已经成功调用了简单的输出,比如 summary() 调用的平均值,但是我很难按照类似的过程从 fitdistr() 函数中提取输出。
例如,当我使用“正态”分布运行此函数时,输出为均值和 sd:
> storage<-fitdistr((as.numeric(diameter.bin[[1]]$Strength)),"normal")
> storage
mean sd
>0.81428910 0.89574658
>(0.04360426) (0.03083287)
当我查找(我正在使用 Rstudio,我可以查看存储的变量/矩阵等)时,我的“存储”变量中究竟存储了什么,我得到了这个:
structure(list(estimate = structure(c(0.814289099526066, 0.89574657988675
), .Names = c("mean", "sd")), sd = structure(c(0.0436042612645108,
0.0308328688287655), .Names = c("mean", "sd")), vcov = structure(c(0.00190133160042372,
0, 0, 0.00095066580021186), .Dim = c(2L, 2L), .Dimnames = list(
c("mean", "sd"), c("mean", "sd"))), n = 422L, loglik = -552.330814327093), .Names = c("estimate", "sd", "vcov", "n", "loglik"), class = "fitdistr")
我想做的只是提取平均值(“平均值”列下的第一个条目,而不是括号中的那个)。我尝试了以下方法:
> test<-storage["estimate"]
> test
>$estimate
> mean sd
>0.8142891 0.8957466
这样我就可以成功拉出第一行数据了。现在我坚持只提取平均值。我存储的变量'test',看起来应该有名字'mean'和'sd',实际上没有名字可以调用。这是存储在我的“测试”变量中的内容:
结构(列表(估计 = 结构(c(0.814289099526066,0.89574657988675),.Names = c(“平均值”,“sd”))),.Names = “估计”)
我可以看到实际上名称“mean”和“sd”是我的测试变量的一部分,但我似乎无法访问它们。当我尝试:
> names(test)
>[1] "estimate"
> test["mean"]
>$< N A >
>NULL
任何人都知道如何访问其他“级别”的名称,我将不胜感激!