2013-06-17 3 views
0

여러 개의 ASCII 파일이 있습니다. 다른 자산 클래스에 대한 데이터를 반환하려면 가져와야합니다. ASCII 파일의 구조는 다음과 같습니다 (샘플 데이터 2 개 포함)ASCII 파일을 R로 가져 오기

어떻게 가져올 수 있습니까? 나는 read.table을 성공적으로 수행하지 못했지만 data.frame 형식으로 만들고 싶습니다.

<Security Name> <Ticker> <Per> <Date> <Close> 
Test Description,Test,D,19700101,1.0000 
Test Description,Test,D,19700102,1.5 
+0

쉼표로 구분 되나요? 'read.csv' 해봤습니까? 또는'read.table'에서 어떤 설정을 사용 했습니까? – A5C1D2H2I1M1N2O1R2T1

답변

4

당신이 정말로 R에 열 이름을 강제 할 경우, 당신은 그런 일을 사용할 수

# Data 
dat <- read.csv("/path/to/data.dat", header = FALSE, skip = 1) 
dat 
       V1 V2 V3  V4 V5 
1 Test Description Test D 19700101 1.0 
2 Test Description Test D 19700102 1.5 


# Column names 
dat.names <- readLines("/path/to/data.dat", n = 1) 
names(dat) <- unlist(strsplit(gsub(">", " ", gsub("<", "", dat.names)), " ")) 
dat 
    Security Name Ticker Per  Date Close 
1 Test Description Test D 19700101 1.0 
2 Test Description Test D 19700102 1.5 

나는 예를 들어, 더 나은 솔루션이있을 수 있습니다 생각하지만 수동으로 헤더 추가 ...

0

이 데이터는 read.csv를 사용하여 쉽게 읽을 수 있습니다. 열 이름이 쉼표로 구분되어 있지 않으므로 header = FALSE 인수를 사용하고 데이터가 R 인 경우 이름을 추가하거나 oyu가 < 자>를 생략하고 쉼표를 추가하여 데이터를 읽기 전에 수동으로 데이터를 편집 할 수 있습니다 각 열 이름 사이.

+0

RA2 <-read.table ("O : /Daten/ASCII/ARiskInd/RA2_AA_CLASS2_CHF_A.asc", sep = ",", header = TRUE) 그러나 항상 오류가 발생했습니다. "읽기 오류 .table (...) 열 이름보다 더 많은 열을.하지만 위와 정확히 똑같은 열 이름이 있습니다. – MichiZH

+1

@MichiZH, 줄에는 쉼표가 없습니다. 변수 이름을 포함하고 있기 때문에 왜 그것들이 작동 할 것이라고 기대할 수 있습니까? 첫 줄 (그리고'header = FALSE')을 건너 뛰고 수동으로 머리글을 다시 추가하는 파일을 읽을 것을 제안합니다. – A5C1D2H2I1M1N2O1R2T1

+0

또는 오류가있을 수 있습니다. 마지막 쉼표와 1.0000 사이의 공백이 있지만 .sep = ","이 문제는 옳지 않습니다. ASCII 파일이 수백 개 있기 때문에 공백으로 데이터를 처리해야합니다. 그들은 다른 프로그램에서 작동합니다 ... – MichiZH

관련 문제