DATOR


분석준비단계:분석프로그램입문 Vector Object(R 코드 파일 첨부)

R 코드 파일 첨부

RFundamental_vector.R

* 첨부된 R 코드로 학하세요.




숫자를 c() 함수사용 vector 생성

>vX<-c(1:5,10)
>vX

"numeric" 이라는 object가 없음.


> mode(vX)

[1] "numeric“

 

> data.class(vX)

[1] "numeric“

 

> typeof(vX)

[1] "double“


#vector(),factor(),data.frame() 

> is.vector(vX)

[1] TRUE


 _2Fundamental_vector_create.JPG






떨어져 있는 값들을 추출할때 c() 로 묶지 않으면 오류 발생

# [1,3] [, ],

# [1][3]같은 형식만인식

>vector<-c(100,200,300,400,500)

 

> vector[1,3]

Error in vector[1, 3] : incorrect number of dimensions

 

> vector[1,2]

Error in vector[1, 2] : incorrect number of dimensions

 

>vector[c(1,3)]

[1] 100 300

_2Fundamental_vector_떨어져있는값들을 c로묶지않으면.JPG




입력한 인덱스가 vector 길이를 벗어나면 NA(Not Available)를 출력

그러므로 length()함수를 활용하여 길이 확인 필요

#vector[100] 100번째 값을 불러오시오

>vector<-c(100,200,300,400,500)

[1] 100 200 300 400 500

 

> vector

[1] 100 200 300 400 500

 

>vector[5]

500

> vector[100]

[1] NA

 

#길이를 확인

 

> length(vector)

[1] 5

마지막 값을 확인

> vector[length(vector)]

[1] 500

_2Fundamental_vector_입력한 인덱스가 vector길이를벗어.JPG



vector<-c(100,200,300,400,500)

#vector[마지막위치]
vector[length(vector)]
#vector[-삭제하고자하는 위치]
vector[-5]

vadd<-c(10,20,30,40,50,60)
#위치지정 <- 입력하고자하는 값
vadd[10]<-100
vadd
# 변수명<- 기존변수에서 입력하고자하는 부분까지만 지정
vadd<-vadd[1:3]
vadd


 vector object 내 원소 값에 이름 붙이기, names(), 104

vWeight <- c(10,20,25,60)
is.vector(vWeight)
names(vWeight) <- c("mouse","rabbit","dog","human")
vWeight
colnames(vWeight) <- c("m","r","d","h") #error
vWeight[1]
vWeight["mouse"]

vWeight[length(vWeight)]

#마지말 컬럼명
#names(데이터셋명)[length(데이터셋명)]
names(vWeight)[length(vWeight)]
vWeight1[1,1] #error

vWeight <- c(10,20,25,60)
is.vector(vWeight)
names(vWeight) <- c("mouse","rabbit","dog","human")
names(vWeight)[length(vWeight)-3]



NA 값이 있으면 연산불가
sum(c(2,NA,2),na.rm=FALSE)
#NA 값을 제외하고 연산
sum(c(2,NA,2),na.rm=TRUE)
sum(c(2,NA,2))
2+NA+2


_2Fundamental_vector_NA처리하기.JPG






vX<- c(NA,NA,NA,NA)
sum(is.na(vX))==length(vX)

vv<-c(1,2,3,4,5,6,7,8,9,10)
#5보다 큰값의 위치에 TRUE 
vv>5
#5보다 큰값 출력
#데이터셋명[조건]
vv[vv>5]
##5보다 큰값을 "600"으로 변경
vv[vv>6] <- 600
vv

x1<-c(1,2,3,4)
x1
x2<-c(4,4,4,4)
x1==x2


%in%은  앞이기준

vX1 <- c(10,20,30,40,50)
vX2 <- c(20,30)
vX1 %in% vX2
vX2 %in% vX1




vv<-c(10,20,30,20,40)
match(20,vv)#일치하는 첫번째 위치
which(20==vv)#일치하는 모든 위치



 vector() 함수로 length만 지정한 경우

vector() 으로 길이 3의 공간을 만듬, type을 지정하지 않았으므로 FALSE 로 할당

y<-vector(length=3)

y

length(y)

y[1]


y[3]위치에 숫자3값을 입력하면 type이 숫자로 설정 됨

vector object는 동일한 type 만 저장 가능하므로 

나머지 y[1]과 y[2]도 type가 숫자로 변경된다. FALSE 가 있었 이므로  0으로 변경된다.

y[3]<-3

y

_2Fundamental_vector_빈vector생성하기.JPG



RFundamental_cover.jpg

Tag

Leave Comments


Profile

profileanalysis에 관련된 question에 대한 Answer