2017-11-12 18 views
0

read.csv을 사용하여 CSV 분리자가 ";"이고 십진 분리 기호가 "이고"나머지 숫자가있는 숫자 값이있는 CSV 파일을 가져 왔습니다 seperator는 "입니다."천 단위 구분 기호가있는 data.frame (as.numeric)의 문자로 변경

Hist <- read.csv(file = "XXXX", header = T, sep = ";", dec =",", stringsAsFactors=FALSE) 

나는 data.table에 변형 ...

Hist <- data.table(Hist) 

그리고는 다음과 같습니다

Date  Value 
# 2017-11-12 12.456,89 
# 2017-11-10 13.234,99 
# 2017-11-08 14.123,45 

가 지금은 컬럼의 클래스/형식을 변경하려면 "Value"를 숫자로 계산하고 싶습니다. 하지만 내가 시도한 모든 것은 효과가 없었습니다.

Warning message: In eval(jsub, SDenv, parent.frame()) : NAs introduced by coercion

아무도 도와 드릴까요 :

Hist[, Value := as.numeric(Value)] 

오류를 생성한다 : 예를 들면?

답변

0

문자열로 읽습니다. 숫자로 변환하려면 천 단위 구분 기호 (.)를 제거한 다음 소수점 구분 기호 (,)를 점으로 변환하십시오. 것과 동일

Hist$Value = as.numeric(gsub(",",".",(gsub("\\.","",Hist$Value)))) 

"."\\

noPoints = gsub("\\.", "", Hist$Value) 
commaToPoint = gsub(",", ".", noPoints) 
Hist$Value = as.numeric(commaToPoint) 
+0

용액이이었다 에서 gsub. 전에''gsub (",", "...")을 시도했습니다. – MelBourbon