2016-10-25 2 views
0

를 포함하는 하나의 문자열에서 R의 dataframe을 만들어이요소 및 공백

string <- "\n\t\t\t1,2\n\t\t\t3,4\n\t\t" 

과 같은 문자열이 내가 데이터 프레임 다음

1 2 
3 4 

한 가지 방법을 strsplit 기능을 사용하는 것입니다 작성해야합니다, 그러나 그것을하는 훨씬 더 좋은 방법이 있어야한다고 느낀다. 도움이 될 것입니다.

당신은 다음 textConnection하고있는 파일과 같은 비트가 read.csv에 공급 동작 일에 문자열을 변환 할 수 있습니다
+0

마지막 줄'read.csv (text = trimws ("\ n \ t \ t \ t1,2 \ n \ t \ t \ t3,4 \ n \ t \ t") = FALSE) ' – alistaire

+0

고맙습니다. 작동합니다! – ZsideZ

답변

3

:

> read.csv(textConnection(string),head=FALSE) 
    V1 V2 
1 1 2 
2 3 4 
3 NA NA 

부유 탭을 마지막 개행 후에는 생산이 NA 값의 마지막 줄 , 당신은 그것들을 어떤 식 으로든 돌보아야 할 것입니다.

+2

'read.csv (text = string, header = FALSE)'만 사용할 수 있습니다. 왜냐하면'text ='인수를 가진'read.table'에 모두 전달되기 때문입니다. 그러면 전체 10자를 절약 할 수 있습니다. 그러면 달필 및 페니 휘슬에 쓸 수 있습니다. – thelatemail

+0

'textConnection'은 텍스트가 파일 대신 객체에있는 곳이면 어디든 적용 할 수있는보다 일반적인 해결책이라고 생각했습니다. 그러나'readr :: read_csv'는 바이너리가 아니기 때문에'text ='인자를 갖지 않기 때문에 불평합니다 .... base R ftw! – Spacedman