2014-12-23 2 views
0

I가 다음 데이터 프레임 :R은 : 파일이고 복잡한 데이터 프레임을 작성

>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 = 1이 최초의 행 N까지 N = 8, N = 7 ... . 두 번째 행에는 쉼표로 구분 된 값인 comma-&이 있습니다. 내 데이터 프레임의 크기는 :

dim(results) 
[1] 2 9 

class(results) 
[1] "data.frame" 

문제는 I 다른 분리 값뿐만 아니라합니다 (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은 내가 기대하는 출력입니다. 난 그냥 원하는

어떤 형식의 파일 그것에서, 을 만들지 만, 정확히 내가 링크을 보여테이블의 종류를 나타내는. R이나 다른 소프트웨어에서 다시 가져오고 싶지 않습니다.

+0

결국 어디로 갈 것입니까? R로 돌아 가면'save' 또는'saveRDS'를 사용하십시오. 그렇지 않으면 CSV가 필요한 경우 어떻게 든 새 라인을 이스케이프 된 뉴 라인으로 변환해야합니다 ... – Spacedman

+0

파일에 기록해야합니다. R이 아니에요. 나는 쉼표와 새 줄이 필요합니다. 파일을 작성하는 방법의 일부입니다. –

+1

예상되는 출력은 무엇입니까? 그것이 명확하지 않기 때문에 그 예를 게시하십시오. –

답변

1

단순히 나는 경우 샘플 스프레드 시트 출력과 같은

enter image description here

:

> write.csv(results,"results.csv") 

다음 오픈/리브레 오피스 스프레드 시트로 읽어 보시기 바랍니다. 원하는 경우 제목과 첫 번째 열을 잘라냅니다.

시도해 보셨습니까? Excel이 실패합니까? 대신 Open/Libre 사무실을 설치하십시오.

샘플 데이터가있는 반면 드롭 박스 예에는 "ALG12 (58,107)" 사이에 줄 바꿈이 없었으므로 J3 셀은 조금 크므로 맨 아래로 떨어졌습니다.

+0

사실, 효과가있었습니다! 감사! –