この問題では、firstdigits(22番目の列)というデータセットデータ内の列を調べ、各値が何回発生するかを調べ、countという新しい列に入れようとしています(第27欄)。つまり、データ$ firstdigits = 1のどこにあっても、その行のデータ$ count = 5が必要な場所では、$ 1のデータが最初に5回出現します。ネストされたForループを最適化するR
私が思いついた方法はうまくいくかもしれませんが、それは私が知るためにまだ実行を完了していないので非常にclunky。私はこれを達成するためのより速い方法を探しています。
unique = as.data.frame(unique(data$firstdigits))
count = as.data.frame(0)
for (i in 1:nrow(unique)){
count[i,1] = sum(data$firstdigits == unique[i,1])
}
data$count = 0
for(j in 1:nrow(data)){
for(k in 1:nrow(unique)){
if (data[j,22] == unique[k,1]){
data[j,27] == count[k,1]
}
}
}
ここに記載されている回答のいずれかを使用したい場合があります:https://stackoverflow.com/questions/1923273/counting-the-number-of-elements-withベクトルのxの値。また、サンプルデータセットを提供することができれば、これは簡単に助けになります。データのほんの数列で 'dput()'と 'head()'の組み合わせを試してみてください。 – user5359531