9

ID で構成されるデータ フレーム (これを DATA と呼びます) の列を要約したので、指定された列の各 ID の合計数を取得します。これを別のデータ フレームに変換したいので (これを TOTALNUM と呼びます)、2 つの列があります。最初の列は ID そのもので、2 番目の列は各 ID の合計数です。これは可能ですか?

サンプルデータ:

ids <- c(1,2,3,4,5,1,2,3,1,5,1,4,2,2,2)
info <- c("A","B","C","A","B","C","A","B","C","A","B","C","A","B","C")
DATA <- data.frame(ids, info)
DATA$ids <- as.factor(DATA$ids)

データ フレームに入れたいもの: 一番上の行は、新しいデータ フレームの最初の列になります。2 番目の行は、新しいデータ フレームの 2 番目の列になります。

summary(DATA$ids)

これは、データフレームを次のようにしたいものです。

ids    nums
1      4
2      5
3      2
4      2
5      2

ありがとう!!

4

1 に答える 1

8

あなたのアプローチでは、 がsummaryの各値の名前を持つカウントのベクトルを返すという事実を利用できidsます。

> my.summary <- summary(DATA$ids)
> data.frame(ids=names(my.summary), nums=my.summary)
  ids nums
1   1    4
2   2    5
3   3    2
4   4    2
5   5    2

または、このアプローチはより簡単です。に基づいて度数分布表を作成しids、それをデータ フレームに変換できます。

> as.data.frame(table(ids), responseName="nums")
  ids nums
1   1    4
2   2    5
3   3    2
4   4    2
5   5    2
于 2013-06-21T21:03:08.893 に答える