Tôi đang lắp GLM bằng gói DESeq2 và có tình huống cá nhân (RatID) được lồng trong điều trị (Chế độ ăn). Tác giả của gói cho thấy rằng các cá nhân được tái san bằng từ 1: N trong mỗi Chế độ ăn uống (trong đó N là số lượng các RatID trong một Chế độ ăn cụ thể) thay vì ID/yếu tố ban đầu của chúng (DESeq2 vignette, page 35.)Yếu tố phát sinh để tạo thuận lợi cho việc sử dụng như yếu tố lồng nhau trong mô hình DESeq2 trong R
dữ liệu trông giống như thế này (có thực sự nhiều cột và các hàng, nhưng bỏ qua vì đơn giản):
Diet Extraction RatID
199 HAMSP 8 65
74 HAMS 9 108
308 HAMS 18 100
41 HAMSA 3 83
88 HAMSP 12 11
221 HAMSP 14 66
200 HAMSA 8 57
155 HAMSB 1 105
245 HAMSB 19 50
254 HAMS 21 90
182 HAMSB 4 4
283 HAMSA 23 59
180 HAMSP 4 22
71 HAMSP 9 112
212 HAMS 12 63
220 HAMSP 14 54
56 HAMS 7 81
274 HAMSP 1 11
114 HAMS 17 102
143 HAMSP 22 93
và đây là một đầu ra dput()
cho cấu trúc:
data = structure(list(Diet = structure(c(4L, 1L, 1L, 2L, 4L, 4L, 2L,
3L, 3L, 1L, 3L, 2L, 4L, 4L, 1L, 4L, 1L, 4L, 1L, 4L), .Label = c("HAMS",
"HAMSA", "HAMSB", "HAMSP", "LAMS"), class = "factor"), Extraction = c(8L,
9L, 18L, 3L, 12L, 14L, 8L, 1L, 19L, 21L, 4L, 23L, 4L, 9L, 12L,
14L, 7L, 1L, 17L, 22L), RatID = structure(c(61L, 7L, 3L, 76L,
9L, 62L, 52L, 6L, 46L, 81L, 37L, 54L, 20L, 12L, 59L, 50L, 74L,
9L, 4L, 84L), .Label = c("1", "10", "100", "102", "103", "105",
"108", "109", "11", "110", "111", "112", "113", "13", "14", "16",
"17", "18", "20", "22", "23", "24", "25", "26", "27", "28", "29",
"3", "30", "31", "32", "34", "35", "36", "37", "39", "4", "40",
"42", "43", "45", "46", "48", "49", "5", "50", "51", "52", "53",
"54", "55", "57", "58", "59", "6", "60", "61", "62", "63", "64",
"65", "66", "67", "68", "69", "70", "71", "73", "77", "78", "79",
"8", "80", "81", "82", "83", "85", "86", "88", "89", "90", "91",
"92", "93", "94", "95", "96", "98", "99"), class = "factor")), .Names = c("Diet",
"Extraction", "RatID"), row.names = c(199L, 74L, 308L, 41L, 88L,
221L, 200L, 155L, 245L, 254L, 182L, 283L, 180L, 71L, 212L, 220L,
56L, 274L, 114L, 143L), class = "data.frame")
ai đó có thể xin ghi rõ một thanh lịch w ay để tạo ra các mức yếu tố mới cho các RatID trong Chế độ ăn uống dưới dạng cột bổ sung của data.frame ở trên. Điều này có thể được thực hiện với chức năng cuộn của dữ liệu.
đầu ra mong muốn (làm bằng tay):
Diet Extraction RatID newCol
1 HAMSP 8 65 1
2 HAMS 9 108 1
3 HAMS 18 100 2
4 HAMSA 3 83 1
5 HAMSP 12 11 2
6 HAMSP 14 66 3
7 HAMSA 8 57 2
8 HAMSB 1 105 1
9 HAMSB 19 50 2
10 HAMS 21 90 3
11 HAMSB 4 4 3
12 HAMSA 23 59 3
13 HAMSP 4 22 4
14 HAMSP 9 112 5
15 HAMS 12 63 4
16 HAMSP 14 54 6
17 HAMS 7 81 5
18 HAMSP 1 11 2
19 HAMS 17 102 6
20 HAMSP 22 93 7
CHÚ Ý: Có không phải là một số lượng tương đương của Rats trong mỗi lần điều trị. Tôi cũng muốn giải pháp không sắp xếp lại các hàng trong dữ liệu (nếu có thể).
EDIT: Không có thứ tự 'tự nhiên' đối với các RatID, miễn là có ánh xạ 1: 1 trong chế độ ăn kiêng, tiền phạt của nó.
Tôi muốn ID mới là từ 1: N trong mỗi chế độ ăn uống, nhưng đề nghị bạn cung cấp cho 1: N qua chế độ ăn. Sẽ sửa đổi câu hỏi của tôi để nhấn mạnh rằng bit! – Meep
Tôi đã không nhấn mạnh nó, nhưng có nhiều mẫu từ cùng một con chuột (Rat 11 có hai). Khi tôi chạy ở trên, Rat 11 nhận được hai id. Thứ tự của RatID không cần phải được bảo toàn khi ánh xạ tới các ID mới. – Meep
Bạn nói đúng, lỗi của con người ở đó. Sẽ sửa chữa. – Meep