【发布时间】:2020-05-16 06:53:20
【问题描述】:
请帮忙!!
我有以下数据框(名为 Final_APOL1)。我需要生成一个汇总表,如显示的第二个数据框。生成后是否可以将其另存为单独的输出 csv,并将其保存到同一目录中?
汇总表遍历风险等位基因计数变量并将它们分类,以便计算每个突变的总体频率。
风险等位基因编号 1、2 或 no 的代码
"no APOL1 Risk Alleles" = ifelse(`Final genotype of APOL1` == "G0/G0", 1, NA),
"1 APOL1 Risk Alleles" =
ifelse(`Final genotype of APOL1` %in% c("G0/G2", "G1^{GM}/G0", "G1^{G+}/G0"), 1, NA),
"2 APOL1 Risk Alleles" =
ifelse(`Final genotype of APOL1` %in% c("G1^{GM}/G1^{GM}", "G1^{GM}/G2", "G2/G2"), 1, NA))
Final_APOL1 中的基因型适合 Summary_table 的以下类别
G1^{GM}/G2 and G1^{G+}/G2 = G1/G2 for Summary_table
G1^{GM}/G1^{GM} = G1/G1 for Summary_table
G1^{GM}/G0 and G1^{G+}/G0 = G1/G0 for Summary_table
G2/G2 = G2/G2 for Summary_table
G0/G2 = G0/G2 for Summary_table
数据帧(Final_APOL1)
structure(list(Well = structure(1:96, .Label = c("A01", "A02",
"A03", "A04", "A05", "A06", "A07", "A08", "A09", "A10", "A11",
"A12", "B01", "B02", "B03", "B04", "B05", "B06", "B07", "B08",
"B09", "B10", "B11", "B12", "C01", "C02", "C03", "C04", "C05",
"C06", "C07", "C08", "C09", "C10", "C11", "C12", "D01", "D02",
"D03", "D04", "D05", "D06", "D07", "D08", "D09", "D10", "D11",
"D12", "E01", "E02", "E03", "E04", "E05", "E06", "E07", "E08",
"E09", "E10", "E11", "E12", "F01", "F02", "F03", "F04", "F05",
"F06", "F07", "F08", "F09", "F10", "F11", "F12", "G01", "G02",
"G03", "G04", "G05", "G06", "G07", "G08", "G09", "G10", "G11",
"G12", "H01", "H02", "H03", "H04", "H05", "H06", "H07", "H08",
"H09", "H10", "H11", "H12"), class = "factor"), G1_1_1 = c("Blank",
"Blank", "+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}", "+",
"+", "G1^{S342G}", "G1^{S342G}", "Blank", "Blank", "+", "+",
"+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}", "+", "+", "Blank",
"Blank", "+", "+", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}",
"G1^{S342G}", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}",
"Blank", "Blank", "+", "+", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}",
"G1^{S342G}", "+", "+", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}",
"G1^{S342G}", "+", "+", "+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}",
"+", "+", "G1^{S342G}", "G1^{S342G}", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}",
"G1^{S342G}", "G1^{S342G}", "+", "+", "+", "+", "+", "+", "G1^{S342G}",
"G1^{S342G}", "G1^{S342G}", "G1^{S342G}", "+", "+", "+", "+",
"+", "+", "G1^{S342G}", "G1^{S342G}"), G1_1_2 = c("Blank", "Blank",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", "Blank",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", "Blank",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", "Blank",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "G1^{S342G}",
"G1^{S342G}", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+"
), G1_2_1 = c("Blank", "Blank", "+", "+", "+", "+", "G1^{I384M}",
"G1^{I384M}", "+", "+", "G1^{I384M}", "G1^{I384M}", "Blank",
"Blank", "+", "+", "+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}",
"+", "+", "Blank", "Blank", "+", "+", "G1^{I384M}", "G1^{I384M}",
"G1^{I384M}", "G1^{I384M}", "G1^{I384M}", "G1^{I384M}", "G1^{I384M}",
"G1^{I384M}", "Blank", "Blank", "+", "+", "G1^{I384M}", "G1^{I384M}",
"G1^{I384M}", "G1^{I384M}", "+", "+", "G1^{I384M}", "G1^{I384M}",
"G1^{I384M}", "G1^{I384M}", "+", "+", "+", "+", "+", "+", "G1^{I384M}",
"G1^{I384M}", "+", "+", "G1^{I384M}", "G1^{I384M}", "+", "+",
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "G1^{I384M}",
"G1^{I384M}", "G1^{I384M}", "G1^{I384M}", "+", "+", "+", "+",
"+", "+", "G1^{I384M}", "G1^{I384M}", "G1^{I384M}", "G1^{I384M}",
"+", "+", "+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}"), G1_2_2 = c("Blank",
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank",
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank",
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank",
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}",
"+", "+", "+", "+", "+", "+", "Blank", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}", "+", "+", "+",
"+", "+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "+"), G2_1 = c("Blank", "Blank",
"+", "+", "+", "+", "G2", "G2", "+", "+", "G2", "G2", "Blank",
"Blank", "+", "+", "G2", "G2", "G2", "G2", "+", "+", "+", "+",
"Blank", "Blank", "G2", "G2", "+", "+", "+", "+", "+", "+", "+",
"+", "Blank", "Blank", "G2", "G2", "G2", "G2", "+", "+", "+",
"+", "+", "+", "G2", "G2", "G2", "G2", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "G2", "G2", "G2",
"G2", "G2", "G2", "G2", "G2", "+", "+", "+", "+", "+", "+", "+",
"+", "G2", "G2", "+", "+", "+", "+", "G2", "G2", "+", "+", "+",
"+", "+", "+"), G2_2 = c("Blank", "Blank", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "Blank", "Blank", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "Blank", "Blank", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "+", "Blank", "Blank", "+",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+",
"+", "+", "+", "+", "+"), `Final genotype of APOL1` = c("NA",
"NA", "G0/G0", "G0/G0", "G0/G0", "G0/G0", "G1^{GM}/G2", "G1^{GM}/G2",
"G0/G0", "G0/G0", "G1^{GM}/G2", "G1^{GM}/G2", "NA", "NA", "G0/G0",
"G0/G0", "G0/G2", "G0/G2", "G0/G2", "G0/G2", "G1^{GM}/G0", "G1^{GM}/G0",
"G0/G0", "G0/G0", "NA", "NA", "G0/G2", "G0/G2", "G1^{GM}/G0",
"G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0",
"G1^{GM}/G0", "G1^{GM}/G0", "NA", "NA", "G0/G2", "G0/G2", "G1^{GM}/G2",
"G1^{GM}/G2", "G1^{GM}/G0", "G1^{GM}/G0", "G0/G0", "G0/G0", "G1^{GM}/G0",
"G1^{GM}/G0", "G1^{GM}/G2", "G1^{GM}/G2", "G0/G2", "G0/G2", "G0/G0",
"G0/G0", "G0/G0", "G0/G0", "G1^{GM}/G1^{GM}", "G1^{GM}/G1^{GM}",
"G0/G0", "G0/G0", "G1^{GM}/G0", "G1^{GM}/G0", "G0/G0", "G0/G0",
NA, "G0/G0", "G0/G2", "G0/G2", "G0/G2", "G0/G2", "G0/G2", "G0/G2",
"G0/G2", "G0/G2", "G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0",
"G0/G0", "G0/G0", "G0/G0", "G0/G0", "G0/G2", "G0/G2", "G1^{GM}/G1^{GM}",
"G1^{GM}/G1^{GM}", "G1^{GM}/G0", "G1^{GM}/G0", "G0/G2", "G0/G2",
"G0/G0", "G0/G0", "G0/G0", "G0/G0", "G1^{GM}/G0", "G1^{GM}/G0"
), `no APOL1 Risk Alleles` = c(NA, NA, 1, 1, 1, 1, NA, NA, 1,
1, NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, 1, 1, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, 1, 1, 1, 1, NA, NA, 1,
1, NA, NA, 1, 1, NA, 1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, 1, 1, 1, 1, NA, NA, NA, NA, NA, NA, NA, NA, 1, 1, 1,
1, NA, NA), `1 APOL1 Risk Alleles` = c(NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, 1, 1, 1, 1, 1, NA,
NA, NA, NA, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, NA, NA, 1, 1, NA, NA,
1, 1, NA, NA, 1, 1, NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, NA,
NA, 1, 1, NA, NA, NA, NA, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
NA, NA, NA, NA, 1, 1, NA, NA, 1, 1, 1, 1, NA, NA, NA, NA, 1,
1), `2 APOL1 Risk Alleles` = c(NA, NA, NA, NA, NA, NA, 1, 1,
NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
1, 1, NA, NA, NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, 1,
1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, 1, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA), Sample_Flag = c(FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE)), row.names = c(NA, -96L), class = "data.frame")
数据框(Summary_table)
structure(list(X__1 = c("Total number", "Percentage", "G1/G1 %",
"G2/G2 %", "G1/G2 %", "G0/G1 %", "G0/G2 %"), `no APOL1 Risk Alleles` = c(29,
33.33, NA, NA, NA, NA, NA), `1 APOL1 Risk Alleles` = c(46, 52.88,
NA, NA, NA, 27.59, 25.29), `2 APOL1 Risk Alleles` = c(12, 13.79,
4.6, NA, 9.19, NA, NA), `Total Number` = c(87, NA, NA, NA, NA,
NA, NA)), row.names = c(NA, -7L), class = c("tbl_df", "tbl",
"data.frame"))
【问题讨论】:
-
(1) 请学会更好地编辑您的问题。查看我的编辑以获取一些提示,但您最初构建它的方式是,您的一些数据被隐藏,导致示例数据无法使用。 stackoverflow.com/editing-help#syntax-highlighting。 (2) 请阅读您附加到问题的标签(不要只是“添加许多”),datatables(jQuery 插件)和data-structures(组织数据查询)对这个问题特别必要或适用。 (3) 请一次只做一个问题:重塑数据。重新整形后,
write.csv将保存您的数据。 -
为什么您的数据中同时包含文字
"NA"和符号NA?Total number(行和列)是边际总和吗?G1_1_到G2_2是什么?当我尝试计算计数/总和时,与您预期的 108 或 161 的输出总数相去甚远。此摘要结构是否基于您提供的示例数据? -
嗨,@r2evans 是的,汇总表来自上一次运行,我的同事手动生成。这些数字不应仅与汇总表所需的最终 APOL1 基因型变量匹配。我为此添加了代码上下文
-
@r2evans 你收到我之前的评论和更新了吗?
-
JordanBrowne,这是一个很难解析的问题。我已经问了一些关于如何生成汇总表的问题,但是问题中仍然不清楚,您还没有回答。无论如何,当您在问题中有“预期输出”时,如果它基于您提供给我们的示例数据,它确实会有所帮助,否则没有任何东西可用于验证。
标签: r data-manipulation summarize