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 |