2013-03-20 4 views
0

이것은 다중 출력 기능에서 특정 출력을 추출하는 것에 관한 이전 질문에 대한 일종의 후속 답변입니다. summary() 호출의 평균과 같은 간단한 출력을 호출하는 것이 성공했지만 fitdistr() 함수에서 출력을 추출하는 것과 비슷한 절차를 수행하는 데 어려움이 있습니다. I 룩업 할 때 (I는 Rstudio 사용하고출력에서 ​​여러 수준의 이름 (추출)

> storage<-fitdistr((as.numeric(diameter.bin[[1]]$Strength)),"normal") 

>  storage 
     mean   sd  
>0.81428910  0.89574658 

>(0.04360426) (0.03083287) 

및 I 저장된 변수 볼 수 I는 "정상"분포가이 기능을 실행하면

는 출력 평균과 SD이며 ,

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 

그래서 첫 번째 데이터 행을 성공적으로 끌어 올릴 수있다. 이제는 평균값을 추출하는 데 막혔습니다. '평균'과 'sd'라는 이름이 있어야하는 것처럼 보이는 저장된 변수 'test'에는 실제로 호출 할 이름이 없습니다. (목록 (추정 = 구조 (C (0.814289099526066, 0.89574657988675 ), .Names의 = C는 ("의미", "SD")))

구조 : 여기 내 '테스트'변수에 무엇을 저장한다 .Names = "estimate")

실제로 "mean"과 "sd"라는 이름은 테스트 변수의 일부이지만 실제로 액세스 할 수없는 것 같습니다. 내가 시도 할 때 :

누구나 다른 이름의 '레벨'에 액세스하는 방법에 대한 아이디어가 있다면, 정말 고맙겠습니다.

+1

당신은 혼란스러워하고 있습니다 [[[ 기울기. – mnel

답변

3

혼란 스러울 때 str을 사용하면 개체의 올바른 구조를 얻을 수 있습니다. 평균과 SD

str(storage) 
List of 5 
$ estimate: Named num [1:2] 0.814 0.896 
    ..- attr(*, "names")= chr [1:2] "mean" "sd" 
$ sd  : Named num [1:2] 0.0436 0.0308 
    ..- attr(*, "names")= chr [1:2] "mean" "sd" 
$ vcov : num [1:2, 1:2] 0.001901 0 0 0.000951 
    ..- attr(*, "dimnames")=List of 2 
    .. ..$ : chr [1:2] "mean" "sd" 
    .. ..$ : chr [1:2] "mean" "sd" 
$ n  : int 422 
$ loglik : num -552 
- attr(*, "class")= chr "fitdistr" 

은 내가 볼, 추정 가변적이고에서됩니다 $ 다음 추정, 그래서 나는이

storage$estimate 
    mean  sd 
0.8142891 0.8957466 

가 그럼 난

storage$estimate[1] 

또는

storage$estimate['mean'] 

    mean 
0.8142891 
합니까