> 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

+ Recent posts