CODEDRAGON ㆍDevelopment/AI
에러메시지
R과 달리 SQL에서 .(점)은 테이블 컬럼명에 사용할 수 없습니다. 그래서 .(점) 대신 _(unberbar)로 표시해 주어야 합니다.
>
sqldf("select avg(Sepal.Length) from iris where Species='setosa'") |
> |
(점) 대신 _(unberbar)로 표시해 주었는데로 에러가 발생합니다.
>
sqldf("select avg(Sepal_Length) from iris where Species='setosa'") |
> |
비정상 수행
전체 문장을 큰 따옴표(" ") 로 묶고 . 이 있는 변수명을 작은 따옴표 (' ')로 묶어줍니다. -> 비정상적으로 수행됩니다.
>
sqldf("select avg('Sepal.Length') from iris where
'Species'='setosa'") |
> |
# 비정상 수행
#전체 문장을 큰 따옴표(" ") 로 묶고 . 이 있는 변수명을 작은 따옴표 (' ')로 묶어줍니다. -> 비정상적으로 수행됩니다.
>
sqldf("select avg('Sepal_Length') from iris where
Species='setosa'") |
|
>
|
# 비정상 수행
#전체 문장을 큰 따옴표(" ") 로 묶고 . 이 있는 변수명을 작은 따옴표 (' ')로 묶어줍니다. -> 비정상적으로 수행됩니다.
>
sqldf("select avg('Sepal.Length') from iris where
Species='setosa'") |
> |
where절의 컬럼명에도 큰 따옴표(" ")로 감싸줍니다.
>
sqldf('select avg("sepal_length") from iris where
Species="setosa"') |
> |
큰 따옴표(" ")로 컬럼명을 묶어줄 경우 .(점)을 _(underbar)로 바꾸지말고 SQL의 원래 컬럼명인 .(점)으로된 이름으로 사용해주여야 합니다.
해결방법
전체 문장을 작은 따옴표 (' ') 로 묶고 . 이 있는 변수명을 큰 따옴표(" ")로 묶어줍니다.
큰 따옴표(" ")로 컬럼명을 묶어줄 경우 .(점)을 _(underbar)로 바꾸지말고 SQL의 원래 컬럼명인 .(점)으로된 이름으로 사용해줍니다.
>
sqldf('select avg("Sepal.Length") from iris where
Species="setosa"') |
> |
'Development > AI' 카테고리의 다른 글
Rtools Downloads (0) | 2018.02.08 |
---|---|
testthat: Get Started with Testing (0) | 2018.02.07 |
주요구간연도별 차종별 교통량 데이터 가져오기 (0) | 2018.02.04 |
doBy 패키지 함수 - summaryBy(), orderBy(), sampleBy() (0) | 2018.02.01 |
Animals 내장 DataSet (0) | 2018.01.28 |