본문 바로가기
컴퓨터 작업/R

[R 프로그래밍] 에러모음

by 건우 2021. 5. 9.

2021-05-25. 16진수가 아닌 '\U'가 사용

 

> data<-read.xlsx('C:\Users\geonu\OneDrive - UOS\Stock\DATA_korea\KRX 개별지수 10Y',encoding='utf-8')
에러: "'C:\U"로 시작하는 문자열들 가운데 16진수가 아닌 '\U'가 사용되었습니다

SAS의 버전 = EXCEL의 버전 이 아닐 때 발생하는 오류이다. 둘 중 하나의 버전을 바꾸어 맞춰주면 되는데 대부분의 SAS 사용자들이 다운로드를 할 때 컴퓨터 운영체제 버전과는 동일하게 받았을 것이기에 엑셀(Microsoft Office)의 버전이 문제이지 싶다. 우선, 각 운영체제 혹은 프로그램의 버전은 다음과 같이 확인할 수 있다.

1. Microsoft Office

Office 프로그램(엑셀, 워드 등등)을 열고 아래와 같은 화면에서 계정을 클릭한다.

 

 

 

 

2021-05-24. 깔았는데 외않되?

 

intall.packages("xlsx")
mystock <- read.xlsx('C:/Users/Stock/Google Stock Record 0514.xlsx',encoding='UTF-8',1)
Error in read.xlsx("C:/Users/geonu/OneDrive - UOS/Stock/Google Stock Record 0514.xlsx", :
함수 "read.xlsx"를 찾을 수 없습니다
library(xlsx)
mystock <- read.xlsx('C:/Users/Stock/Google Stock Record 0514.xlsx',encoding='UTF-8',1)
## >mystock <- read.xlsx('C:/Users/Stock/Google Stock Record 0514.xlsx',encoding='UTF-8',1)

방금 깔았는데 왜 못 찾는지 이해할 수 없지만 패키지를 깔았으면 해당 라이브러리를 library(xlsx)로 명시해주어야 한다. R studio 껐다가 다시 킬 때는 말할 것도 없고.

2021-05-24. Error in .jnew("java/io/FileInputStream", path.expand(file)) : java.io.FileNotFoundException: C:\Users~

intall.packages("xlsx")
mystock <- read.xlsx('C:/Users/Stock/Google Stock Record 0514.xlsx',encoding='UTF-8',1)
Error in read.xlsx("C:/Users/geonu/OneDrive - UOS/Stock/Google Stock Record 0514.xlsx", :
함수 "read.xlsx"를 찾을 수 없습니다
library(xlsx)
mystock <- read.xlsx('C:/Users/Stock/Google Stock Record 0514.xlsx',encoding='UTF-8',1)
## >mystock <- read.xlsx('C:/Users/Stock/Google Stock Record 0514.xlsx',encoding='UTF-8',1)

read.xlsx하다가 생긴 문제인데 '나보고 어쩌라고...' 소리가 나오는 오류 답변이다. 힘들게 read.xlsx까지 했는데 안되는 이유는 해당 엑셀(혹은 다른 형태의) 파일을 켜놨기 때문이다. 엑셀 파일을 닫고 다시 시도해보자.

2021-05-01. 요인으로서 해석되어 질 수 없는 객체입니다

y<- C(6, 1:3, NA, 12)
Error in C(6, 1:3, NA, 12) : 요인으로서 해석되어 질 수 없는 객체입니다

Caps Lock이 켜져있지 않은지 점검해야 한다. 위의 코드에서는 y 데이터를 만든느 과정에 있어서 c() 함수를 사용할 때 대문자 C를 사용하면서 오류가 발생했다.

2021-05-01. 'rJava' 때문에 실패했습니다.

에러: package or namespace load failed for ‘xlsx’:
.onLoad가 loadNamespace()에서 'rJava'때문에 실패했습니다:
호출: fun(libname, pkgname)
에러: JAVA_HOME cannot be determined from the Registry

Java가 깔려 있지 않거나 JAVA_HOME 경로 설정 문제로 발생하는데 나의 경우는 https://www.oracle.com/java/technologies/javase-jdk16-downloads.html에서 JAVA를 다운로드 받는 것으로 해결되었으나 경로 설정의 문제는 다음의 블로그 참조. 에러 해결을 위해 구글링을 하다보니 KoNLP를 사용하기 전에 자주 발생을 하는 듯 하다.

 

2021-05-01. 유효하지 않은 멀티바이트 문자열이 있습니다.

A <-read.xlsx("samsung.xlsx", header = TRUE, sheetIndex = 1, stringsAsFactors= F)
Error in make.names(vnames, unique = TRUE) :
'<eb><82><a0>吏<9c>'에서 유효하지 않은 멀티바이트 문자열이 있습니다


head(A)
## X1 X2 X3 X4 X5 X6
## 1 <eb>궇吏<9c> 醫낃<b0>\u0080 <ec>쟾<ec>씪鍮<84> <eb>벑<eb>씫瑜<a0> 嫄곕옒<eb>웾 湲곌<b4>\u0080
## 2 2021.02.05 83500 1000 0.0121 17139131 902128
## 3 2021.02.04 82500 2100 -0.0248 24171688 -7315364
## 4 2021.02.03 84600 200 0.0024 22112205 -3259808
## 5 2021.02.02 84400 1400 0.0169 26302077 756444
## 6 2021.02.01 83000 1000 0.0122 28046832 522310
## X7 X8 X9
## 1 <ec>쇅援<ad><ec>씤 蹂댁쑀二쇱닔 蹂댁쑀<ec>쑉
## 2 393388 3279907217 0.5494
## 3 -3526489 3279513829 0.5494
## 4 -1316740 3283020318 0.5499
## 5 -64912 3284347058 0.5502
## 6 -2160807 3284411970 0.5502

읽으려고 하는 대상 파일에 한글이 포함되어 있을 경우 생기는 문제라고 한다. 이럴 경우 아래와 같이encoding='UTF-8'을 함수 뒤편에 추가해주면 문제없이 데이터읽기가 가능하다. 이거 했는데 엄청난 오류코드와 함께 안된다면 위의 2021-05-24 오류 참조

A <-read.xlsx("samsung.xlsx", header = TRUE, sheetIndex = 1, stringsAsFactors= F, encoding='UTF-8')
head(A)
## 날짜 종가 전일비 등락률 거래량
## 1 2021.02.05 83500 1000 0.0121 17139131
## 2 2021.02.04 82500 2100 -0.0248 24171688
## 3 2021.02.03 84600 200 0.0024 22112205
## 4 2021.02.02 84400 1400 0.0169 26302077
## 5 2021.02.01 83000 1000 0.0122 28046832
## 6 2021.01.29 82000 1700 -0.0203 39615978
## 기관 외국인 보유주수 보유율
## 1 902128 393388 3279907217 0.5494
## 2 -7315364 -3526489 3279513829 0.5494
## 3 -3259808 -1316740 3283020318 0.5499
## 4 756444 -64912 3284347058 0.5502
## 5 522310 -2160807 3284411970 0.5502
## 6 -39104 -5152101 3287064777 0.5506

 

댓글