0

特定の列で繰り返される数値変数の数を数えたいのですが。私のデータセットは次のとおりです:mydata

そして、私は次のようなデータフレームを持っています:

mydata <- structure(list(VARIABLE = c(1, 1, 2, 3, 3, 3, 4, 4)), 
  .Names = "VARIABLE",   row.names = c(NA, -8L), class = "data.frame")

mydata
##     VARIABLE
## 1        1
## 2        1
## 3        2
## 4        3
## 5        3
## 6        3
## 7        4
## 8        4

列の1s、2s、3s、4sの数を計算したいVARIABLE(Two 1、One 2、Three 3、Two 4)。とにかく、追加のパッケージをインストールせずにこれを行うことができますか?

4

2 に答える 2

4

はい、table次のように使用しますbase。パッケージに含まれています。

mydata <- data.frame(VARIABLE = c(1, 1, 2, 3, 3, 3, 4, 4))
table(mydata$VARIABLE)

# 1 2 3 4 
# 2 1 3 2 

Maiasauraが提案したように、出力を素敵なdata.frameに変えることができます。

data.frame(table(mydata$VARIABLE))
#   Var1 Freq
# 1    1    2
# 2    2    1
# 3    3    3
# 4    4    2
于 2012-09-11T01:48:06.463 に答える
0

代わりに、変数/ベクトル内の特定の繰り返し値の「実行」を検出したい場合に?tableも使用できます。?rleこの場合、関数を使用した場合と同じ結果が得られますが、table常にそうであるとは限りません。

mydata <- data.frame(VARIABLE = c(1, 1, 2, 3, 3, 3, 4, 4))
rle(mydata$VARIABLE)

結果:

Run Length Encoding
  lengths: int [1:4] 2 1 3 2
  values : num [1:4] 1 2 3 4

rle次のように、関数の結果をサブセット化することもできます。

rle(mydata$VARIABLE)$values
[1] 1 2 3 4

rle(mydata$VARIABLE)$lengths
[1] 2 1 3 2
于 2012-09-11T02:13:46.003 に答える