如何將此資料框轉換為值矩陣,其中行為單元格行,列為度數?
> dput(final_values)
structure(list(cell_line = c("NUGC3_c9", "NUGC3_c9", "NUGC3_c9",
"NUGC3_c9", "NUGC3_c9", "NUGC3_c9", "GCIY_c9", "GCIY_c9", "GCIY_c9",
"GCIY_c9", "GCIY_c9", "GCIY_c9", "RCCFG2_c9", "RCCFG2_c9", "RCCFG2_c9",
"RCCFG2_c9", "RCCFG2_c9", "RCCFG2_c9", "X769P_c9", "X769P_c9",
"X769P_c9", "X769P_c9", "X769P_c9", "X769P_c9", "X786O_c9", "X786O_c9",
"X786O_c9", "X786O_c9", "X786O_c9", "X786O_c9"), deg = c(3L,
4L, 5L, 6L, 7L, 8L, 3L, 4L, 5L, 6L, 7L, 8L, 3L, 4L, 5L, 6L, 7L,
8L, 3L, 4L, 5L, 6L, 7L, 8L, 3L, 4L, 5L, 6L, 7L, 8L), value = c(15.8151547340145,
14.6981941137388, 14.0815336206517, 13.7853872530634, 13.6937688752229,
13.7367668873381, 6.28574152356235, 7.20174811171657, 7.20397940493138,
6.96970273617373, 6.64696258503419, 6.37711585074684, 4.92532850005957,
6.24889418222532, 6.37016307572278, 6.14297629739634, 5.81903170250912,
5.6652027595413, 26.9891162063465, 24.3362801325012, 23.3217063534995,
23.1498923718838, 23.3762790270914, 23.37809836191, 7.3424970563227,
7.89854654756756, 7.75963016048237, 7.43507107802584, 7.01627110789221,
6.69482680775165)), row.names = c("1", "2", "3", "4", "5", "6",
"7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17",
"18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28",
"29", "30"), class = "data.frame")
uj5u.com熱心網友回復:
我們可以使用xtabs
out <- xtabs(value ~ cell_line deg, final_values)
-輸出
out
deg
cell_line 3 4 5 6 7 8
GCIY_c9 6.285742 7.201748 7.203979 6.969703 6.646963 6.377116
NUGC3_c9 15.815155 14.698194 14.081534 13.785387 13.693769 13.736767
RCCFG2_c9 4.925329 6.248894 6.370163 6.142976 5.819032 5.665203
X769P_c9 26.989116 24.336280 23.321706 23.149892 23.376279 23.378098
X786O_c9 7.342497 7.898547 7.759630 7.435071 7.016271 6.694827
如果我們要洗掉xtabs屬性
out1 <- unclass(out)
attributes(out1)$call <- NULL
> str(out1)
num [1:5, 1:6] 6.29 15.82 4.93 26.99 7.34 ...
- attr(*, "dimnames")=List of 2
..$ cell_line: chr [1:5] "GCIY_c9" "NUGC3_c9" "RCCFG2_c9" "X769P_c9" ...
..$ deg : chr [1:6] "3" "4" "5" "6" ...
uj5u.com熱心網友回復:
或者,tapply直接回傳一個矩陣。
out <- with(final_values, tapply(value, list(cell_line, deg), identity))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/494871.html
上一篇:Dart:為什么覆寫方法的引數應該比父方法的引數“更寬”?(可能是關于逆變的話題)Part2
下一篇:在R中的值更改之前洗掉某個值的行
