1

これが私のデータで、data.frameにラップされています。

rt5.5 <- c(0, 7, 1, 2, 2, 2, 1, 1) #LC trace % area
rt6.3 <- c(0, 16, 12, 20, 16, 20, 13, 15) #LC trace % area
rt8.4 <- c(0, 26, 55, 56, 63, 61, 70, 70) #LC trace % area
rt9.4 <- c(88, 42, 20, 11, 8, 6, 5, 3) #LC trace % area
rt22.7 <- c(8, 6, 7, 6, 7, 6, 7, 6) #LC trace % area
LCtraces <- data.frame(rt5.5, rt6.3, rt8.4, rt9.4,rt22.7,
                       row.names = c("A", "B", "C", "D", "E", "F", "G", "H"))
total.area <- apply(LCtraces,1, sum)
LCtraces <-  merge(LCtraces,total.area, by="row.names")
colnames(LCtraces) [7] <- "Total Area"
rm(rt5.5, rt6.3, rt8.4, rt9.4, rt22.7, total.area) #tidy

data.frameを作成したとき、行全体の合計を合計したいと思いました。このために、apply関数を使用し、次に、row.namesを使用して結果のベクトルをdata.frameとマージしました。次に、必要な列名を入力します。

私がやったことはうまくいきましたが、優雅さが欠けています。誰かが改善を提案できますか?

4

1 に答える 1

4

使用rowSumstransform

LCtraces <- transform(LCtraces, total.area = rowSums(LCtraces))

同様に、以下を使用しwithinます。

LCtraces <- within(LCtraces, "Total Area" <- rowSums(LCtraces))
于 2013-03-25T10:51:57.747 に答える