/*
* http://sosal.kr/
* made by so_Sal
*/
find0 라는 파일에 integer pair가 저장되어 있는데
끝에 " 라는 문자때문에 프로그래밍 안에서 바로 연산을 할 수 없는 상황이었습니다.
[sosal@sosalr tmp]$ head ./find0
8 1540"
8 3436"
8 3454"
8 6484"
8 6760"
8 7291"
8 7921"
8 7984"
8 10331"
8 10993"
pair <- read.table("find0", sep="", header=FALSE, stringsAsFactors=FALSE)
이렇게 읽게 되면 V1, V2 column이 다른 형태의 변수로 읽어지게 됩니다.
> head(pair)
V1 V2
1 8 1540"
2 8 3436"
3 8 3454"
4 8 6484"
5 8 6760"
6 8 7291"
> typeof(pair[1,1])
[1] "integer"
> typeof(pair[1,2])
[1] "character"
>
integer로 읽혀야 할 것이, character로 읽혀저 버립니다.
- 해결책
pair[,2] <- as.integer(gsub("\"", "", pair[,2]))
gsub을 이용하여 " 라는 문자열을 모두 공백문자로 바꿔주고, interger 형태로 형변환을 해주면 완료됩니다.
> head(pair)
V1 V2
1 8 1540
2 8 3436
3 8 3454
4 8 6484
5 8 6760
6 8 7291
> typeof(pair[1,1])
[1] "integer"
> typeof(pair[1,2])
[1] "integer"
>
'Programing > R- programming' 카테고리의 다른 글
R ggplot 누적분포 및 계단형 그래프 그리기 (0) | 2015.10.11 |
---|---|
R - graph (Network) plot, 네트워크 그래프 (1) | 2015.07.31 |
다중회귀 LASSO regression, selection과 shrinkage (5) | 2015.04.25 |
카플란 메이어 (kaplan meier) 생존분석 - R (3) | 2015.04.22 |
R을 이용하여 엑셀(excel) 파일 읽고 쓰기 (2) | 2015.04.19 |