-5

やあ、私は R でループをやりたいです。誰でも私を助けてくれますか

たとえば、ポイントの合計があり、ポイントの合計の0〜10%でempidが必要ないなど、Rで行う方法

たとえば、次のようなデータがあります

empid               sumofpoints
  1                       10
  2                       30 

私はデータが欲しい

percentageofsumpoints       countofempid
   0-10                        4
  11-20                        5
  21-30                        6

など....Rでそれを行う方法、そのためのパッケージをインストールする必要がありますか

4

2 に答える 2

2

パッケージをインストールする必要はありません。http://nunn.rc.fas.harvard.edu/groups/pica/wiki/1f131/を参照してください。

単純な for ループ

 for (i in 1:10){
     print(i)
 }

あなたの例では、データがというデータフレームに保存されていると仮定しますdf

res <- NULL
groups <- c(0,10,20,30,40,...)
for (i in 2:length(groups)){
    res <- rbind(res,c(paste(groups[i],groups[i-1],sep="-"),nrow(df[df$sumofpoints <= groups[i] & df$sumofpoints > groups[i-1],])))
}

ステートメントapplyを避けたい場合は、関数を使用することもできます。forこの例は、ヘルプ ファイルから直接取得したものです。

 x <- cbind(x1 = 3, x2 = c(4:1, 2:5))
 dimnames(x)[[1]] <- letters[1:8]
 apply(x, 2, mean, trim = .2)

これをさらに編集して、ループを回避する方法

于 2013-08-16T12:51:48.560 に答える