移植実験データによって要約して、a)総個体数、およびb)各場所、基質、および複製の組み合わせについての性別の総個体数を取得したいと思います。サイト、サブストレート、およびレプリケートの組み合わせごとに2つのレコードを含む簡略化されたデータセットを提供しました。Rで分割表を作成する方法は知っていますが、3つの変数のデータを要約する表(データフレーム)を作成する方法がわかりません。
Transplant.Test <- structure(list(Location = c("Kampinge", "Kampinge", "Kampinge", "Kampinge",
"Kampinge", "Kampinge", "Kampinge", "Kampinge",
"Kampinge", "Kampinge", "Kampinge", "Kampinge",
"Kaseberga", "Kaseberga", "Kaseberga",
"Kaseberga", "Kaseberga", "Kaseberga",
"Kaseberga", "Kaseberga", "Kaseberga",
"Kaseberga", "Kaseberga", "Kaseberga"),
Substrate = c("Kampinge", "Kampinge", "Kampinge", "Kampinge",
"Kampinge", "Kampinge", "Kaseberga","Kaseberga",
"Kaseberga", "Kaseberga", "Kaseberga",
"Kaseberga", "Kampinge", "Kampinge",
"Kampinge", "Kampinge", "Kampinge", "Kampinge",
"Kaseberga", "Kaseberga", "Kaseberga",
"Kaseberga", "Kaseberga", "Kaseberga"),
Replicate = c(1L, 1L, 2L, 2L, 3L, 3L, 1L, 1L, 2L, 2L, 3L, 3L,
1L, 1L, 2L, 2L, 3L, 3L, 1L, 1L, 2L, 2L, 3L, 3L),
Sex = c("m", "m", "m", "m", "m", "m", "m", "m", "m", "m", "m",
"m", "m", "f", "f", "f", "m", "f", "f", "f", "f", "f",
"m", "m")),
.Names = c("Location", "Substrate", "Replicate", "Sex"),
class = "data.frame", row.names = c(NA, -24L))
結果は2つのデータテーブルになります。表Aには「場所」、「基質」、「複製」、「合計」があり、表Bには「場所」、「基質」、「複製」、「男性」、「女性」の列があります。
表Bは次のようになります。
一方、表Aには、「男性」と「女性」ではなく、合計が含まれます。
dcast
「reshape2」から興味があるかもしれません。
次のことを試してください。
library(reshape2)
dcast(Transplant.Test, Location + Substrate + Replicate ~ "count",
value.var="Sex", fun.aggregate=length)
# Location Substrate Replicate count
# 1 Kampinge Kampinge 1 2
# 2 Kampinge Kampinge 2 2
# 3 Kampinge Kampinge 3 2
# 4 Kampinge Kaseberga 1 2
# 5 Kampinge Kaseberga 2 2
# 6 Kampinge Kaseberga 3 2
# 7 Kaseberga Kampinge 1 2
# 8 Kaseberga Kampinge 2 2
# 9 Kaseberga Kampinge 3 2
# 10 Kaseberga Kaseberga 1 2
# 11 Kaseberga Kaseberga 2 2
# 12 Kaseberga Kaseberga 3 2
dcast(Transplant.Test, Location + Substrate + Replicate ~ Sex,
value.var="Sex", fun.aggregate=length)
# Location Substrate Replicate f m
# 1 Kampinge Kampinge 1 0 2
# 2 Kampinge Kampinge 2 0 2
# 3 Kampinge Kampinge 3 0 2
# 4 Kampinge Kaseberga 1 0 2
# 5 Kampinge Kaseberga 2 0 2
# 6 Kampinge Kaseberga 3 0 2
# 7 Kaseberga Kampinge 1 1 1
# 8 Kaseberga Kampinge 2 2 0
# 9 Kaseberga Kampinge 3 1 1
# 10 Kaseberga Kaseberga 1 2 0
# 11 Kaseberga Kaseberga 2 2 0
# 12 Kaseberga Kaseberga 3 0 2
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加