0

データ フレームの場合:

exampleDF <- structure(list(val1 = structure(c(1L, 2L, 1L, 3L), .Label = c("MX", 
"SS", "VF"), class = "factor"), var2 = c(1, 2, 3, 4)), .Names = c("val1", 
"var2"), row.names = c(NA, -4L), class = "data.frame")

代わりに:

ddply(exampleDF, .(val1), summarize, sum(as.numeric(var2)))

呼び出しをパラメーター化することは可能ですddplyか (次のようなものですが、試してみましたが機能しませんでした):

colname <- 'var2'
ddply(exampleDF, .(val1), summarize, sum(as.numeric(colname)))

その結果、..

  val1 ..1
1   MX  NA
2   SS  NA
3   VF  NA
Warning messages:
1: In eval(expr, envir, enclos) : NAs introduced by coercion
2: In eval(expr, envir, enclos) : NAs introduced by coercion
3: In eval(expr, envir, enclos) : NAs introduced by coercion

データ フレーム内の一連の列を呼び出しddply、 の結果ごとにプロットを生成する必要がありddplyます。ddplyしたがって、n 個の列に対して同じ行を繰り返す代わりに、呼び出しをパラメーター化する必要がありました。

4

1 に答える 1

2

これは実際にはsummarize、ではなく、の課題ddplyです。parseandを使って何かを試してみることができますevalが、一般的にこれは良い考えではありません。私は次のようなことをします:

colname <- 'var2'
ddply(exampleDF, .(val1), function(sub_dat) sum(as.numeric(sub_dat[[colname]])))

このように複数のプロットを作成したいとおっしゃっていますが、私はほとんどの場合、ファセットインggplot2(と同じ作成者によって作成されたplyr)を使用してそのようなプロットのセットを作成できました。たとえば、とのドキュメントを参照してfacet_wrapくださいfacet_grid

于 2012-10-17T05:17:01.720 に答える