0

最初の列の自治体名 (要素) と 2 列目と 3 列目のプロジェクト数 (整数) で構成されるデータ フレームがあります。

Var.1<-c("Andover", "Avon", "Bethany")
Freq.x<-c(2,NA,10)
Freq.y<-c(4,2,9)
Projects<-data.frame(Var.1,as.integer(as.numeric(Freq.y)),as.integer(as.numeric(Freq.x)))

[注: ここでは 2 番目と 3 番目の列を整数として作成しています。これは、実際のデータ セットで分類されているためです。]

次を使用して、行の行合計を取得できました。

Projects$Sum<-rowSums(Projects[,2:3])

ただし、列の合計を取る方法がわかりません。次の式を使用してみました。

Projects[Total,]<-colSums(Projects[2:3,])

エラーが発生します:

colSums(Projects[2:3, ]) のエラー: 'x' は数値でなければなりません

2 列目と 3 列目を に変換してもas.numeric、同じ応答が得られます。

列の合計を取得して、結果を格納する新しい行を一番下に作成する方法を教えてもらえますか?

4

1 に答える 1

0

次のようなことができます。

Var.1<-c("Andover", "Avon", "Bethany")
Freq.x<-c(2,NA,10)
Freq.y<-c(4,2,9)
freq <- cbind(Freq.x, Freq.y)
freq <- rbind(freq, colSums(freq, na.rm=TRUE))
Projects <- data.frame(name=c(Var.1, "Total"), freq)

特に、数値部分を分離して、その合計を計算します。factor に変換される前に文字ベクトルに「TOtal」を追加し、その後 data.frame を作成します。

于 2015-11-03T18:16:42.750 に答える