2014-07-08 5 views
0

read.table()으로 데이터를 가져오고 있지만 일부 열 이름에는 데이터를 내보내는 컴퓨터에서 자동으로 설정 한 아래 첨자 텍스트가 포함되어 있습니다. R은 미세 열 이름을 읽을 수 있지만,이처럼 올 것이다 :비표준 문자로 데이터 가져 오기

> df <- read.table(file) 
> df 
    Col1 Col2 Cт Cт.Mean 

내가 열 "Cт"에 접근을 시도 할 때 (df$CT)을, R은 특정 컬럼을 인식하지 못하는 내가 df$Cт를 입력하지 않았기 때문에. 이렇게하면 데이터를 가져올 때 R이 비표준 문자를 일반 텍스트로 자동 변환 할 수 있도록이 문제를 해결할 수있는 방법이 있습니까?

+1

이 문제를 일으키는으로

names(df) <- iconv(names(df), from="UTF-8",to="ASCII",".") 

가능합니다? 일반적으로 R은 "bad"문자를 마침표로 바꾸어 열의 이름을 자동으로 "sanitizes"합니다. 아마도 어떤 일이 일어나고 어떤 일이 일어나길 원하는지 조금 더 (또는 많은) 구체적으로 할 수 있습니다. – MrFlick

답변

2

"표준 문자"로 가정합니다. ASCII 문자입니다. 비 ASCII 값을 마침표로 바꾸어 값을 ASCII 값으로 변환 한 경우 어떻습니까? 이것은 일부 샘플 데이터

a <- c("Col1","Col2","Cт","Cт.Mean") 
iconv(a, "UTF-8","ASCII",".") 
# [1] "Col1"  "Col2"  "C.."  "C...Mean" 
+0

아, 네, 고마워요. 왜 그것이 ASCII가 아닌 각 문자를 두 개의 '.'로 대체하는지 알고 있습니까? 또는 내가 선택한 다른 캐릭터? – Josh

+1

비 ASCII 문자의 대부분은 실제로 UTF-8로 2 바이트로 인코딩되며 모든 ASCII 문자는 1 바이트입니다. 따라서 실제로는 2 바이트 UTF-8을 2 바이트의 ASCII 값으로 나눕니다. '.. '를 "."로 대체하기 위해'gsub()'를 사용할 수있다. 네가 원한다면. – MrFlick