> var1 <- "aaa" //var1 이라는 변수에 문자형 데이터 담기
> var1
[1] "aaa"
> var2 <- 111 //var2 라는 변수에 숫자형 데이터 담기
> var2
[1] 111
> var3 <- Sys.Date( ) //var3 라는 변수에 날짜형 데이터 담기
> var3
[1] "2014-11-14"
> var4 <- c("a","b","c") //여러 건의 데이터 한꺼번에 담기
> var4
[1] "a" "b" "c"
> 111 -> var5 -> var6 //같은 값을 연속적으로 할당
> var5
[1] 111
> var6
[1] 111
> var8 <- var9 <- 222
> var8
[1] 222
> var9
[1] 222
문자열 저장
> string1 <- "Very Easy R Programming"
> string1
[1] "Very Easy R Programming"
뒤에 있는 형으로 전체 형이 결정된다
> comp <- c(1,"2")
> comp
[1] "1" "2"
> class(Comp)
[1] "character"
연속적인 값 대입
> seq1 <- 1:5
> seq1
[1] 1 2 3 4 5
연속적인 일(day) 추가하기
> date1 <- seq(from=as.Date('2014-01-01'), to=as.Date('2014-01-31'),by=1)
> date1
[1] "2014-01-01" "2014-01-02" "2014-01-03" "2014-01-04" "2014-01-05" "2014-01-06"
[7] "2014-01-07" "2014-01-08" "2014-01-09" "2014-01-10" "2014-01-11" "2014-01-12"
[13] "2014-01-13" "2014-01-14" "2014-01-15" "2014-01-16" "2014-01-17" "2014-01-18"
[19] "2014-01-19" "2014-01-20" "2014-01-21" "2014-01-22" "2014-01-23" "2014-01-24"
[25] "2014-01-25" "2014-01-26" "2014-01-27" "2014-01-28" "2014-01-29" "2014-01-30"
[31] "2014-01-31"
월 추가하기
> date2 <- seq(from=as.Date('2014-01-01'), to=as.Date('2014-05-31'),by='month')
> date2
[1] "2014-01-01" "2014-02-01" "2014-03-01" "2014-04-01" "2014-05-01“
년 추가하기
> date3 <- seq(from=as.Date('2014-01-01'), to=as.Date('2020-05-31'),by='year')
> date3
[1] "2014-01-01" "2015-01-01" "2016-01-01" "2017-01-01" "2018-01-01" "2019-01-01"
[7] "2020-01-01"
생성한 변수 모두 확인하기
> objects( )
[1] "char1" "Comp" "num1" "num2" "seq1" "string1" "string2"
[8] "var1" "var2" "var3" "var4" "var5" "var6" "var8"
[15] "var9"
objects(all.names=T)
변수명을 . 으로 시작하면 숨김 변수가 됩니다.
이런 변수들은 objects( ) 함수를 기본값으로 사용할 경우에는 안보이고 objects(all.names=T) 라는 속성을 써줘야 조회가 된다
변수에 담아 둔 값 제거하기
> rm(str1) // str1 변수 삭제
> rm(list=ls( )) //모든 변수 삭제
벡터-많은 양의 데이터 다루기
> c(1,2,3,4,5) //모두 숫자형으로 이루어진 벡터
[1] 1 2 3 4 5
> c(1,2,3,4,"5") //마지막 요소가 문자라서 모두 문자로 변환되었습니다.
[1] "1" "2" "3" "4" "5"
> vec1 <- c(1,2,3,4,5)
> vec1
[1] 1 2 3 4 5
> vec1[3] //3번째 요소 값만 출력
[1] 3
> vec1[-3] //마이너스를 붙일 경우 3번째만 빼고 출력
[1] 1 2 4 5
> vec1[1:(length(vec1)-2)] //vec1 의 총 길이에서 2 개를 뺀 개수만큼 출력
[1] 1 2 3
> vec1[-1:-3] //1번-3번 요소를 뺀 나머지만 출력합
[1] 4 5
> vec1[2:4] //2번째부터 4번째까지의 요소 값들
[1] 2 3 4
> vec1[2] //vec1 벡터의 2번째 항목
[1] 2
> vec1[2] <- 6 //vec1[2] 항목의 값을 6으로 변경
> vec1
[1] 1 6 3 4 5
> vec1 <- c(vec1,7) // 벡터에 새로운 내용을 추가
> vec1
[1] 1 6 3 4 5 7
> vec1[9] <- 9
> vec1
[1] 1 6 3 4 5 7 NA NA 9 // NULL이 아닌 NA로 출력
> append(vec1,10,after=3) // 3 다음 위치에 10을 넣기
[1] 1 6 3 10 4 5 7 NA NA 9
> append(vec1,c(10,11),after=3)
[1] 1 6 3 10 11 4 5 7 NA NA 9
> vec2 <- c(1,2,3,3,4,5)
> vec2
[1] 1 2 3 3 4 5
> append(vec2,10,after=3) //3번째 위치 뒤에 10을 넣기
[1] 1 2 3 10 3 4 5
> append(vec2,11,after=3) // 3번째 위치 뒤에 11을 넣으라고 하니까 10이 사라짐
[1] 1 2 3 11 3 4 5
> append(vec2,11,after=0) // 0 은 가장 앞자리
[1] 11 1 2 3 3 4 5
백터 연산
> c(1,2,3) + c(4,5,6)
[1] 5 7 9
> c(1,2,3) + 1
[1] 2 3 4
> var1 <- c(1,2,3)
> var2 <- c(3,4,5)
> var1 + var2
[1] 4 6 8
> var3 <- c('3','4',5) //문자형
> var1 + var3 //오류!
> union(var1,var3) //데이터 형이 다를 경우 union 을 사용
[1] "1" "2" "3" "4" "5"
> var1
[1] 1 2 3
> var2
[1] 3 4 5
> var1 - var2
[1] -2 -2 -2
> setdiff(var1,var2) //var1 에 있는데 var2 에 없는 요소 출력하기
[1] 1 2
> setdiff(var2,var1) //var2 에 있는데 var1 에 없는 요소 출력하기
[1] 4 5
> intersect(var1,var2) //var1 과 var2 에 공통적으로 있는 요소 찾기
[1] 3
벡터의 각 컬럼에 이름 지정하기
> fruits <- c(10,20,30)
> fruits
[1] 10 20 30
> names(fruits) <- c('apple','banana','peach') //이름 지정
> fruits
apple banana peach
10 20 30
벡터에 연속적인 데이터 할당하기 - seq( ) , rep( )
> var5 <- seq(1,5) ; var5
[1] 1 2 3 4 5
> var6 <- seq(2,-2) ; var6
[1] 2 1 0 -1 -2
> var7 <- seq(1,10,2) ; var7 //2 씩 증가시키면서 값을 할당
[1] 1 3 5 7 9
> var8 <- rep(1:3,2) ; var8 //1~3까지 2번 반복
[1] 1 2 3 1 2 3
> var9 <- rep(1:3,each=2) ; var9 //1~3까지 각 2번씩 출력하며 반복
[1] 1 1 2 2 3 3
벡터의 길이 찾기
> var1
[1] 1 2 3
> length(var1)
[1] 3
> NROW(var1)
[1] 3
벡터에 특정 문자의 포함 여부 찾기
> var7
[1] 1 3 5 7 9
> 3 %in% var7 //var7 에서 3 이 있는지 검색
[1] TRUE
> 4 %in% var7 // var7 에서 4 가 있는지 검색
[1] FALSE
출처
더알음 네이버카페 : http://cafe.naver.com/theareum
R라뷰 개정판 실습데이터 모음 : https://www.dropbox.com/s/16ytsq4q3rdaro4/%EB%8D%94%EB%A7%8E%EC%9D%B4_R%EB%9D%BC%EB%B7%B0_%EA%B0%9C%EC%A0%95%ED%8C%90%EC%9A%A9_%EC%8B%A4%EC%8A%B5%EC%9A%A9_%EB%8D%B0%EC%9D%B4%ED%84%B0_%EB%AA%A8%EC%9D%8C.zip?dl=0
'programing > R studio' 카테고리의 다른 글
R studio 기초 6 - readline(), read.table(), read.csv() (0) | 2018.02.05 |
---|---|
R studio 기초 5 - 행렬, 배열, List, 데이터 프레임 (0) | 2018.02.05 |
R studio 기초 3 - NA형, NULL형, 날짜형 데이터, factor, summary, read.cvs (0) | 2018.02.05 |
R studio 기초 2 - 숫자형, 문자형 데이터 출력 (0) | 2018.02.05 |
R studio 기초 1 (0) | 2018.01.29 |