可能であれば、カウントのベクトルを作成したかったのです。 例えば:私はベクトルカウントのベクトルを作成する
x <- c(3, 0, 2, 0, 0)
を持ってどのように私は0と3の間のすべての整数の周波数ベクトルを作成することができますか?それぞれ私に0、1、2、および3のカウントを与える
> 3 0 1 1
:理想的には私はこのようなベクトルを取得したいです。
非常に高く評価されました!
可能であれば、カウントのベクトルを作成したかったのです。 例えば:私はベクトルカウントのベクトルを作成する
x <- c(3, 0, 2, 0, 0)
を持ってどのように私は0と3の間のすべての整数の周波数ベクトルを作成することができますか?それぞれ私に0、1、2、および3のカウントを与える
> 3 0 1 1
:理想的には私はこのようなベクトルを取得したいです。
非常に高く評価されました!
高速です
それともtabulate
であなただけの)(表を使用することができます。
a <- table(x)
a
x
#0 2 3
#3 1 1
次に、あなたがそれをサブセットすることができます
a[names(a)==0]
#0
#3
かに変換data.frame
あなたはそれをより快適に使用することができます:
u<-as.data.frame(table(x))
u
# x Freq
#1 0 3
#2 2 1
#3 3 1
編集1:レベルの場合 :
a<- as.data.frame(table(factor(x, levels=0:3)))
あなたはレベルがありません。他の答えを見てください –
あなたはrle
を使用してこれを行うことができます(それは十分に最適化されていない場合、私は、数分でとても残念これを作りました)。
x = c(3, 0, 2, 0, 0)
r = rle(x)
f = function(x) sum(r$lengths[r$values == x])
s = sapply(FUN = f, X = as.list(0:3))
data.frame(x = 0:3, freq = s)
#> data.frame(x = 0:3, freq = s)
# x freq
#1 0 3
#2 1 0
#3 2 1
#4 3 1
[Rにおけるベクターから周波数カウントの作成](http://stackoverflow.com/questions/20869374/create-the-frequency-count-from-a-vector-in-rの可能な重複) –
[文字列のベクトル内の各文字の数を数える]の可能な複製(http://stackoverflow.com/questions/19476210/counting-the-number-of-each-letter-in-a-vector-of -strings) – jogo
これは重複していますが、2つ以上のリンクは正しいものではありません。 – zx8754