2014-01-08 4 views
0

엑셀 파일에서 데이터를 읽습니다. 이 코드벡터에서 char을 정수로 변환합니다.

45,25,12,36,14 

: 엑셀 파일의 데이터는 다음과 같이이다

wb <- loadWorkbook("C:\\users\\bla\\bla\\Muster.xls") 
dat <-readWorksheet(wb, sheet=getSheets(wb)[1], startRow=2, endRow=35, startCol=1, endCol=1,header=FALSE) 
datalist<-dat[,1] 
datalist 

내가 가진

[1] "45,25,12,36,14" 
[2] "33,52,26,37,40" 
... 

내가 이런 이들 출력과 수학 작업을하고 싶으면이 출력 :

k<-datalist[1]-datalist[2] 

그러나 그들은 char 형식이기 때문에 오류가 발생합니다. 내 질문은 지금 :

어떻게 벡터에서 이러한 정수를 실제 정수로 변환 할 수 있습니까?

답변

3

문자열을 별도의 숫자 (strsplit)로 분할하고 (as.numeric) 숫자로 변환 할 수 있습니다. 귀하의 경우 xdatalist입니다.

x <- c("45,25,12,36,14", "33,52,26,37,40") 
l <- strsplit(x, ",") 
d <- sapply(l, as.numeric) 
d 

     [,1] [,2] 
[1,] 45 33 
[2,] 25 52 
[3,] 12 26 
[4,] 36 37 
[5,] 14 40 

이제 각 열에 값이 포함 된 행렬이 있습니다. 나머지는 각 열은 후 하나의 그림이 포함 된 경우 당신은 확인하기 위해 (위의 코드에서 사용하고있는 임) XLConnect 라이브러리의 readWorksheetColTypes 인수를 사용할 수 있습니다, 부록으로

d[, 1] - d[, 2] 

[1] 12 -27 -14 -1 -26 
1

간단합니다 귀하가 읽은 데이터가 적절히 해석되어야합니다. 날짜가있는 열과 4 개의 숫자가있는 열이있는 경우 다음과 같이합니다.

my.cols <- c("Date", 
      rep("numeric",4)) 

wb = loadWorkbook(my.file) 
tn <- readWorksheet(wb, my.sheet, colTypes = my.cols) 
관련 문제