3

データ フレームのリストからいくつかの値を取得し、結果を新しいデータ フレームに保存したいと考えています。これは私のコードがどのように見えるかです:

for (i in 1:length(covpatient)){

    a <- names(covpatient[i])
    b <- sum(covpatient[[i]]$cov == 0)
    c <- sum(covpatient[[i]]$cov > 0 & covpatient[[i]]$cov <= 40)
    d <- sum(covpatient[[i]]$cov > 40 & covpatient[[i]]$cov <= 100)
    e <- sum(covpatient[[i]]$cov > 100)
    summary <- c(a,b,c,d,e)

}

したがって、リスト covpatient のすべてのデータフレームに対して、5 つの要素 (a、b、c、d、e) で構成される要約変数を作成したいと考えています。次に、すべての集計値 (5 列 & i 行) を格納する新しい data.frame を作成したいと考えています。

誰か手を貸してくれませんか?

4

1 に答える 1

4

1つの方法は、で使用lapplyしてrbindからを呼び出すことas.data.frameです。遊ぶデータがないので、大まかな考え方をします。

o <- lapply(1:length(covpatient), function(i) {
    a <- names(covpatient[i])
    b <- sum(covpatient[[i]]$cov == 0)
    c <- sum(covpatient[[i]]$cov > 0 & covpatient[[i]]$cov <= 40)
    d <- sum(covpatient[[i]]$cov > 40 & covpatient[[i]]$cov <= 100)
    e <- sum(covpatient[[i]]$cov > 100)
    c(a,b,c,d,e)
})
out <- as.data.frame(do.call(rbind, o))
于 2013-01-28T12:43:54.453 に答える