2

反復測定データセットがあります。その個人の観測数が 3 未満のすべての参加者を削除する必要があります。これを行う最善の方法は何ですか?

x <- c(9, 9, 9, 11, 11, 23, 23, 23, 23, 45, 45, 45, 56, 56)

ここでは、11 と 56 をデータから削除する必要があります。これまでのところ、保持したいすべての obs を含むデータ フレームを作成しましたが、新しいデータ フレームを使用してデータ セットを操作する方法がわかりません。

x <- as.data.frame(table(x))
x1 <- x[x$Freq > 2,]
4

2 に答える 2

4
x[x %in% names(table(x)[table(x) >=3])]
于 2011-11-07T13:17:53.693 に答える
4

関数用にもう 1 つave():

x[ave(x,x,FUN=length) > 2]

コメントへの回答では、次のように実行する必要があります。

raw.data1 <- raw.data[ave(raw.data$REGISTRA,raw.data$REGISTRA,FUN=length) > 2]

コードが正確に何をしているのかを理解するのに役立つaveのヘルプページも読んでください。

于 2011-11-07T12:56:25.067 に答える