如何使用另一个数据帧的信息/值填充新的数据框架?
如果原始数据为exp.kirp.log2,则元数据列值将为kirp。如果它是exp.kich.log2,那么元数据将是kich等。
exp2.log2是三个数据帧的组合。
exp.log2 <- cbind(exp.kirp.log2, exp.kirc.log2, exp.kich.log2)现在,我希望创建一个新的dataframe metadata,其行名与exp.log2的冒号相等。然后,我希望为metadata分配一个列,其中包含子类型信息(即kirp、kirc和kich)。
exp.kirp.log2$subtype <- "KIRP"
exp.kirc.log2$subtype <- "KIRC"
exp.kich.log2$subtype <- "KICH"
metadata <- data.frame(matrix(ncol = 0, nrow = ncol(exp.log2)))
rownames(metadata) <- colnames(exp.log2)
metadata$subtype <- exp.kirp.log2[match(rownames(metadata), colnames(exp.kirp.log2)),exp.kirp.log2$subtype]回溯:
Error in `[.data.frame`(exp.kirp.log2, match(rownames(metadata2), colnames(exp.kirp.log2)), :
undefined columns selectedexp.kirp.log2
> dput(exp.kirp.log2[1:5,1:5])
structure(list(TCGA.2K.A9WE.01A = c(7.65342121905285, 2.03892776611756,
-0.96100202120249, 6.35598354101006, -Inf), TCGA.2Z.A9J1.01A = c(5.09389393824392,
5.2160706644244, -Inf, 6.93597002271109, -Inf), TCGA.2Z.A9J2.01A = c(5.51854458067276,
4.11644793551166, -Inf, 7.5307754013178, -Inf), TCGA.2Z.A9J3.01A = c(4.70168212029528,
3.34111759260469, 3.57815377007565, 7.54694769203808, -Inf),
TCGA.2Z.A9J5.01A = c(7.99645936536463, 5.20408983959317,
1.64952349150802, 6.89258167250936, -Inf)), row.names = c("A1BG",
"A1CF", "A2BP1", "A2LD1", "A2ML1"), class = "data.frame")exp.kirc.log2
> dput(exp.kirc.log2[1:5,1:5])
structure(list(TCGA.3Z.A93Z.01A = c(7.60710168395891, 6.59399907429693,
0.912189968482442, 5.86606228532002, -0.672772532238714), TCGA.6D.AA2E.01A = c(5.29679509798346,
5.33895561100057, -Inf, 8.5246110567563, 2.81058705767919), TCGA.A3.3306.01A = c(3.63487202316421,
6.98654291078066, -Inf, 7.56954121842147, -Inf), TCGA.A3.3307.01A = c(4.30394874845039,
7.75218860897157, -Inf, 6.94927811978134, -Inf), TCGA.A3.3308.01A = c(4.52027137056763,
6.81247512149133, -0.124219936931512, 6.41770908193329, -Inf)), row.names = c("A1BG",
"A1CF", "A2BP1", "A2LD1", "A2ML1"), class = "data.frame")exp.kich.log2
> dput(exp.kich.log2[1:5,1:5])
structure(list(TCGA.KL.8323.01A = c(3.20011195634, -Inf, -Inf,
5.86938532751066, -Inf), TCGA.KL.8324.01A = c(2.71784638377681,
-1.08957432714833, -1.08957432714833, 6.40571672415247, -Inf),
TCGA.KL.8325.01A = c(3.00203636889806, 0.417055859813149,
2.32397526869577, 4.95203530400747, -Inf), TCGA.KL.8326.01A = c(7.05192236143441,
-Inf, 0.568615876713783, 5.98514745510282, -1.01624935164507
), TCGA.KL.8327.01A = c(5.50089763480962, -0.0840584940198524,
-0.0840584940198524, 4.49185309632967, -Inf)), row.names = c("A1BG",
"A1CF", "A2BP1", "A2LD1", "A2ML1"), class = "data.frame")发布于 2022-10-29 22:14:36
希望这能帮到你:我不知道每一个exp.ki?数据帧有相同的列数,然后我在每个ncol中使用ncol。
metadata <- data.frame(subtype = rep(
c("KIRP", "KIRC","KICH"),
c(ncol(exp.kirp.log2),ncol(exp.kirc.log2),ncol(exp.kich.log2))
rownames(metadata) <- colnames(exp2.log2)https://stackoverflow.com/questions/74249117
复制相似问题