あなたが何を望むかによって、いくつかの可能性があります。最初の5人はパッケージを使用していません。
1)集約/ cこれは、2番目の列がHUGO名の文字ベクトルであるデータフレームを与えます。
aggregate(HUGO ~ Cell, DF, c)
与える:
Cell HUGO
1 lymphocytes CD8A, EOMES, FGFBP2, GNLY
2 NK cells NCR1, PTGDR, SH2D1B
3 T cells CD28, CD3D, CD3G
2)集計/のtoStringをこれは、その第二のカラムカンマでHUGO名を分離する文字列を含むデータフレームを提供します。
aggregate(HUGO ~ Cell, DF, toString)
与える:
Cell HUGO
1 lymphocytes CD8A, EOMES, FGFBP2, GNLY
2 NK cells NCR1, PTGDR, SH2D1B
3 T cells CD28, CD3D, CD3G
3)これはその成分そのセルの各HUGO名であるリスト、セル当たり一つの成分を与えるアンスタック。
unstack(DF)
与える:
$lymphocytes
[1] "CD8A" "EOMES" "FGFBP2" "GNLY"
$`NK cells`
[1] "NCR1" "PTGDR" "SH2D1B"
$`T cells`
[1] "CD28" "CD3D" "CD3G"
4)はtapplyこれは、その列である列HUGO名の序数である細胞とマトリックスを与えます。
DF2 <- transform(DF, seq = ave(seq_along(HUGO), Cell, FUN t= seq_along))
tapply(DF2$HUGO, DF2[-1], c)
与える:
reshape(DF2, timevar = "seq", idvar = "Cell", dir = "wide")
を与える:
Cell HUGO.1 HUGO.2 HUGO.3 HUGO.4
1 T cells CD28 CD3D CD3G <NA>
4 lymphocytes CD8A EOMES FGFBP2 GNLY
8 NK cells NCR1 PTGDR SH2D1B <NA>
は
seq
Cell 1 2 3 4
lymphocytes "CD8A" "EOMES" "FGFBP2" "GNLY"
NK cells "NCR1" "PTGDR" "SH2D1B" NA
T cells "CD28" "CD3D" "CD3G" NA
5)これは、データフレームを与えるために一緒にreshape
と最後の選択肢からDF2
を使用を整形が与える
Cell 1 2 3 4
1 lymphocytes CD8A EOMES FGFBP2 GNLY
2 NK cells NCR1 PTGDR SH2D1B <NA>
3 T cells CD28 CD3D CD3G <NA>
7)をread.zoo:
6)これは、与え"data.frame"
のサブクラス)
library(dplyr)
library(tidyr)
DF %>%
group_by(Cell) %>%
mutate(seq = 1:n()) %>%
ungroup() %>%
spread(seq, HUGO)
ある出力として"tbl_df"
クラスオブジェクトを(与えを広めますその時代がセルである動物園のオブジェクト。
時刻は実際には文字列なので、解釈を避けるためにFUN=identity
を使用しています。 fortify.zoo
はそれをデータフレームに変換します。 DF2
は上からのものです。
library(zoo)
fortify.zoo(read.zoo(DF2, split = "seq", index = "Cell", FUN = identity))
与える:これは出力としてdata.table与え
Index 1 2 3 4
1 lymphocytes CD8A EOMES FGFBP2 GNLY
2 NK cells NCR1 PTGDR SH2D1B <NA>
3 T cells CD28 CD3D CD3G <NA>
8) dcast。
library(data.table)
DT <- data.table(DF)
DT[, seq:=1:.N, by = Cell]
dcast(DT, Cell ~ seq, value.var = "HUGO")
与える:
Cell 1 2 3 4
1: NK cells NCR1 PTGDR SH2D1B NA
2: T cells CD28 CD3D CD3G NA
3: lymphocytes CD8A EOMES FGFBP2 GNLY
注: `($ HUGO、DFの$セルDF)
DF <- structure(list(HUGO = c("CD28", "CD3D", "CD3G", "CD8A", "EOMES",
"FGFBP2", "GNLY", "NCR1", "PTGDR", "SH2D1B"), Cell = c("T cells",
"T cells", "T cells", "lymphocytes", "lymphocytes", "lymphocytes",
"lymphocytes", "NK cells", "NK cells", "NK cells")), .Names = c("HUGO",
"Cell"), class = "data.frame", row.names = c(NA, -10L))
'分割。 – Psidom