我有以下数据框:
>results[,1:4]
N=9 N=8 N=7 N=6
HPS4\n(244,492) APOL3\n(235,486)\nAPOL5\n(200,398)\nCELSR1\n(213,432)\nCLTCL1\n(204,402) CPT1B,CHKB-CPT1B\n(175,344)\nPLXNB2\n(205,412) FAM118A\n(121,240)\nMYO18B\n(169,345)\nSEC14L4\n(99,221)
N = 9,N = 8,N = 7 ......直到N = 1为第一行。第二行有逗号和换行符分隔值。我的数据框的尺寸是:
dim(results)
[1] 2 9
class(results)
[1] "data.frame"
问题是我尝试使用不同的分隔符值以及WriteXLS(WriteXLS包)的write.table()但每次输出文件都搞砸了。第一行输出很好,但第二行在前2-3列中全部附加。基本上,表不会按输出。我想知道您可以编写数据帧的替代方案,而不会丢失列之间的分隔符。
dput(results)
structure(list(X9 = c("N=9", "HPS4\n(244,492)"), X8 = c("N=8",
"APOL3\n(235,486)\nAPOL5\n(200,398)\nCELSR1\n(213,432)\nCLTCL1\n(204,402)"
), X7 = c("N=7", "CPT1B,CHKB-CPT1B\n(175,344)\nPLXNB2\n(205,412)"
), X6 = c("N=6", "FAM118A\n(121,240)\nMYO18B\n(169,345)\nSEC14L4\n(99,221)"
), X5 = c("N=5", "MOV10L1\n(97,230)"), X4 = c("N=4", "CCDC157\n(95,212)\nCECR2\n(121,272)\nSEC14L3\n(93,178)\nTTLL12\n(128,241)\nTXNRD2\n(144,302)\nYDJC,CCDC116\n(108,224)"
), X3 = c("N=3", "CARD10\n(78,165)\nEFCAB6\n(38,69)\nIL17RA\n(59,112)\nPLA2G3\n(69,134)\nRIBC2\n(84,163)\nRTDR1\n(1,2)\nSLC2A11\n(21,53)\nTEX33\n(39,73)\nTTC38\n(14,30)"
), X2 = c("N=2", "APOBEC3H\n(109,233)\nBRD1\n(33,67)\nGNB1L\n(12,31)\nMN1\n(26,52)\nPRAME\n(15,38)\nPRR14L\n(53,109)\nSCARF2\n(80,193)\nSMC1B\n(30,55)\nSUN2\n(73,128)\nTBC1D10A\n(53,129)\nTUBGCP6\n(81,160)\nTYMP,SCO2\n(41,88)"
), X1 = c("N=1", "ALG12\n(58,107)\nAPOBEC3G\n(31,67)\nARVCF\n(7,20)\nBCL2L13\n(6,13)\nBCR\n(9,19)\nCABIN1\n(51,99)\nCDC42EP1\n(5,7)\nCDPF1\n(36,56)\nCRELD2\n(87,159)\nCRYBA4\n(16,26)\nCSNK1E\n(0,1)\nEFCAB6,EFCAB6-AS1\n(1,0)\nEMID1\n(17,26)\nFAM109B\n(0,2)\nFAM227A\n(0,5)\nFAM83F\n(0,4)\nGAB4\n(19,40)\nGGT1,FAM211B\n(0,4)\nGGT5\n(23,37)\nHDAC10\n(35,71)\nISX\n(32,59)\nKCTD17\n(0,0)\nMICAL3\n(6,15)\nPACSIN2\n(5,9)\nPEX26\n(14,20)\nPIWIL3\n(36,60)\nPNPLA3\n(96,171)\nPNPLA5\n(20,19)\nPPP6R2\n(3,5)\nSCUBE1\n(2,3)\nSELO\n(10,18)\nSEZ6L\n(14,30)\nSGSM1\n(14,37)\nTBX1\n(99,184)\nTCN2\n(31,57)\nTMPRSS6\n(4,17)\nTRMU\n(39,84)\nZBED4\n(1,0)\nZNF74\n(1,9)"
)), .Names = c("X9", "X8", "X7", "X6", "X5", "X4", "X3", "X2",
"X1"), row.names = c(NA, -2L), class = "data.frame")
This是我期待的那种输出。
我只想制作文件,以任何格式,但完全代表 表格< / strong>我在链接中显示了 。我不想再在R或任何其他软件中导入它。
答案 0 :(得分:1)
如果我只是:
> write.csv(results,"results.csv")
然后阅读Open / Libre Office电子表格:
看起来像您的示例电子表格输出。如果你愿意,可以打开标题和第一栏。
你尝试过这个吗? Excel失败了吗?改为安装Open / Libre办公室。请注意,您的保管箱示例之间没有换行符&#34; ALG12(58,107)&#34; 你的样本数据确实如此,所以我的J3单元格有点挤满了底部。