[R] R 2일차

data.frame과 matrix에 대한 설명.

컬럼을 찾는  x[,names(x) %in% c("b","c")]와

특정 컬럼을 제외시키는 x[,!names(x) %in% c("b","c")]는 헷갈리니 꼭 외우자.



=========================== R =========================== 

rm(list=ls())

#dataFrame

a <- data.frame(x = c(1,2,4,6,7,6),y = c(11,12,14,16,17,16))

# 파생시켜 열을 추가

a$z <-c(21,22,24,26,27,26)

#행으로 접근

a[1]

#행으로 접근하는데 컬럼 갯수를 보여줄 수 있다.

a[1,,]

#1열에 접근하는데 가로로 보여준다.

a[,1]

#앞이 행, 뒤가 열

a[1,3]

#1,3행의 값을 다 출력

a[c(1,3),]

#1,3행의 값 중 2열에 있는 것만 출력

a[c(1,3),2]

#1행을 제외한 나머지를 출력

a[-1,]

#이름으로 접근(x는 열이므로 안 나옴)

a[c(x),]

#이름으로 접근(x는 열이므로 안 나옴)

a[c("x"),]

#이름으로 접근(나옴)

a[,c("x")]

#a객체의 x컬럼을 벡터로 접근하고 drop 속성의 F옵션으로 데이터프레임을 호출한다.

a[,c("x"), drop=F]

#structure of a

str(a)



(x <- data.frame(a=1:3,b=4:6,c=7:9))

#열 이름이 b,c인 것을 찾고 호출

x[,names(x) %in% c("b","c")]

#열 이름이 b,c가 아닌 것을 찾고 호출

x[,!names(x) %in% c("b","c")]



#컬럼 2개를 만드는 작업

#앞뒤로()를 붙여서 명령 수행과 동시에 결과값이 출력하는 명령

(d<- data.frame(x=c(1,2,3,4,5),y=c("a","b","c","d","e")))

#TRUE로 표현된 행만 출력

d[c(TRUE,FALSE,TRUE,FALSE,TRUE),]

#x열 중 2로 나누었을 때 0이 되는 행만 출력

d[d$x %% 2 == 0,]


#str함수를 통해 자료형을 정리해서 볼 수 있다.

a <- data.frame(x=c(1,2,3,4,5),y=c(2,4,6,8,10),z=c("M","F","M","F","M"))

str(a)


a <- data.frame(x = 1:10000)

#데이터가 엄청 큰 경우 위쪽 자료만 보여주는 메서드 default=6

head(a)

#10개 보여주는 head메서드

head(a,10)




a<-data.frame(1:3)

#열 이름을 붙이는 방법

colnames(a) <- c("ddd")

#행에 이름을 붙이는 방법

rownames(a) <-c("a","b","c")

a




eng<-c(9,8,7,6)

math <- c(5,6,7,8)

# 표 만들기

df <- data.frame(eng,math)

df

group <- c(1,1,2,2)

#그룹에 새로운 컬럼 넣기

df$grop<-c(1,1,2,2)

df

# eng의 평균

mean(df$eng)





#ncol = 3 열을 3으로 나눈다. matrix만 가능

x<-matrix(c(1,2,3,4,5,6,7,8,9),ncol = 3)

y<-data.frame(c(1,2,3,4,5,6,7,8,9),ncol = 3) #안 됌

#n1 x n2을 보여주는 함수

dim(x)

#2행 중 2열만 빼고 나머지

x[2,-2]

#byrow = T를 이용하면 데이터가 열부터 채운다.

matrix(c(1,2,3,4,5,6,7,8,9,10,11,12), nrow = 4, byrow = T)


#list로 행과 열의 이름을 붙여준다.

x <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, dimnames = list(c("행1","행2","행3"), c("열1","열2","열3")))


#매트릭스 사칙연산

x <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3)

x

x + x

x - x

x%*%x # 행렬의 곱 연산으로 (3x3)(3x3)=(3x3)형태로 나온다.

x%/%x # 행렬의 나눗셈은 한 요소를 역행렬을 곱해 없애는 방식으로 진행된다.



=========================== R =========================== 

'프로그래밍 > Python, R 프로그래밍' 카테고리의 다른 글

[Python] Python 3일차  (0) 2018.05.14
[R] R 3일차  (0) 2018.05.14
[Python] Python 2일차  (0) 2018.05.11
[R] R 1일차  (0) 2018.05.10
[Python] Python 1일차  (0) 2018.05.10

+ Recent posts