read.table () 로 제목을 직접 읽고 싶습니다.
5189 단어 R
read.table()
에서 파일을 데이터 프레임으로 읽을 때 제목에 R의 변수로 사용할 수 없는 문자가 있으면 .
로 자동으로 변환됩니다.예를 들어 다음 데이터가 있을 때
Name
Value(1hours)
Value(2hours)
Value(3hours)
#ofCount
Yamada
4.2
5.3
6.4
삼
Tanaka
4.5
2.3
4.3
사
Sato
2.3
5.6
4.2
이
다음 코드로 데이터 프레임을 읽으면
data <- read.table(filepath, header=TRUE, comment.char="")
print(data)
결과는 다음과 같다. Name Value.1hours. Value.2hours. Value.3hours. X.ofCount
1 Yamada 4.2 5.3 6.4 3
2 Tanaka 4.5 2.3 4.3 4
3 Sato 2.3 5.6 4.2 2
제목을 확인하십시오.(
및 )
을 .
로 변환합니다.#ofCount
은X.ofCount
엉뚱한것이다.이것은 R의 변수가 숫자나 기호에서 시작할 수 없기 때문이다.문제가 있다면 이 데이터를 그림 함수에 직접 건네주면
X.ofCount
등이 도표에 그려진다.pairs(data[-1])
이런 상황의 발생을 방지하기 위해
read.table()
편리한 매개 변수가 있다check.names
.규정된 값은
TRUE
이며, 이 값을 FALSE
로 설정하면 제목이 변환되지 않습니다.data <- read.table(filepath, header=TRUE, comment.char="", check.names=FALSE)
print(data)
Name Value(1hours) Value(2hours) Value(3hours) #ofCount
1 Yamada 4.2 5.3 6.4 3
2 Tanaka 4.5 2.3 4.3 4
3 Sato 2.3 5.6 4.2 2
pairs(data[-1])
아, 편해요.
그러나
check.names=FALSE
로 설정하면 데이터 프레임의 편리 태그 $
를 사용할 수 없습니다.print(data$Value(1hours)) # Error!
エラー: 予想外の シンボル です ( "print(data$Value(1hours" の)
이것은 R의 문법을 위반했기 때문에 check.names=TRUE
이런 오류가 발생하지 않도록 기본적이다.하지만 이를 피할 수 있는 방법이 있다.
백업으로 변수를 둘러쌉니다.
print(data$`Value(1hours)`) # OK
[1] 4.2 4.5 2.3
모델 표현식도 유사하게 설명할 수 있다.lm(`Value(3hours)` ~ `Value(1hours)` + `Value(2hours)`, data=data)
Call:
lm(formula = `Value(3hours)` ~ `Value(1hours)` + `Value(2hours)`,
data = data)
Coefficients:
(Intercept) `Value(1hours)` `Value(2hours)`
-3.4059 1.2888 0.8289
사용하기에 의외로 편리하다.여기서 마치겠습니다.
Reference
이 문제에 관하여(read.table () 로 제목을 직접 읽고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hoxo_m/items/b77f1566d3a848e46c92텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)