2012-07-22 2 views
6

주식 데이터의 CSV를 R로 가져오고 주식 시세 표시기의 열 이름이 숫자로 시작되며 내부에 공백을 포함합니다. "5560 JP". R로 읽어 들인 후 열 이름은 "X"로 추가되고 "."로 바뀝니다. "X5560.JP". 모든 작업이 R로 끝나면 처리 된 데이터를 새 CSV로 다시 작성하지만 원본 열 이름 (예 : "5560 JP"대신 "X5560.JP"대신 어떻게 할 수 있습니까?R - read.table 및 write.table에있는 숫자로 시작하여 공백을 포함하는 열 이름

감사합니다.

+1

당신의 변수'df'와 전화, <이'이름 (DF)을 시도 (GSUB ","붙여 넣기 (substr (names (df), 2,8)))' – Ryogi

+4

'read.table'에 'check.names' 인수가있어서 이름 변경을 무시할 것이라고 생각합니다. 이러한 이름을 저장하고 최종 내보내기 전에 바로 사용할 수 있습니다. – baptiste

+0

고마워요. – Joyce

답변

19

write.csv 또는 write.table을 사용하여 데이터를 CSV 파일에 저장하는 경우 col.names 인수를 설정하여 원하는대로 열 이름을 설정할 수 있습니다.

하지만 사용 가능한 열 이름이 있다고 가정합니다. 데이터를 읽고 R이 이름을 변환하면 해당 정보가 손실됩니다. 이 문제를 얻으려면, 당신은 열 이름을 얻기 위해 변환을 억제 할 수 있습니다 : - ". \\"

df <- read.csv("mydata.csv", check.names=FALSE) 
orig.cols <- colnames(df) 
colnames(df) <- make.names(colnames(df)) 

[your original code] 

write.csv(df, col.names=orig.cols) 
+0

멋지 네요, 고마워요 !!! – Joyce