Вопрос R - Как извлечь значения атрибутов из объекта Bystat и поместить их в переменные - PullRequest
0 голосов
/ 25 октября 2010

Я использую функцию bystat из пакета Hmisc в R. Как я могу извлечь значения атрибутов и поместить их в переменные.Например, я хочу вычислить среднее значение и SD для переменной aaf и поместить их в кадр данных или матрицу.

t <- with(d.aaf,bystats(y=aaf,plot_bid,fun=function(x) { 
       c(Mean = round(mean(x),digits=2),SD = round(sd(x),digits=2)) 
     })) 

> str(t)
 bystats [1:121, 1:3] 5 5 5 5 5 4 5 5 3 4 ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr [1:121] "P00000000006001288020278" "P00000000006001288085814"
                    "P00000000006001288151350" "P00000000006001288216886" ...
  ..$ : chr [1:3] "N" "Mean" "SD"
 - attr(*, "heading")= chr "function(x) { c(Mean = round(mean(x),digits=2),
                                            SD = round(sd(x),digits=2)) } 
                            of aaf by plot_bid"
 - attr(*, "byvarnames")= chr "plot_bid"

Я делаю это, сначала преобразовав "t" в кадр данных,Я не думаю, что это очень эффективно.Спасибо за ваши предложения.

1 Ответ

1 голос
/ 25 октября 2010

Вы можете использовать ddply из пакета plyr, который выводит непосредственно во фрейм данных.

    library(plyr)
    t<-ddply(d.aaf, "plot_bid", summarise, mean=round(mean(aaf),2), SD=round(sd(aaf),2))    
    SD<-t$SD
    mean<-t$mean
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...