데이터프레임이란 매트릭스와 같이 행과 열로 이뤄진 형태이다. 단 매트릭스와의 다른 점은 다른 형태의 데이터 유형이 함께 저장 될 수 있다는 것이다.
#day02_08_dataframe.R
#데이터프레임 : 엑셀의 자료구조와 동일. 매트릭스와 같이 행과 열로 이뤄진 형태이며
#데이터 유형이 섞일 수 있다. (이기종의 데이터를 저장할 수 있다.)
#가장 많이 사용하는 데이터 구조!
#data.frame(벡터1,벡터2,벡터3)
name <- c('korea','E class','info')
name
age <- c(20,25)
age
student<-c(TRUE,FALSE,FALSE)
student
data.frame(name,student,age)
#age 가 들어가는경우 Error 발생
# Error in data.frame(name, student, age) :
# arguments imply differing number of rows: 3, 2
#개수가 부족하다는 것이다.
age <- c(20,25,30)
no <- c(1001,1002,1003)
df1 <- data.frame(no,name,student,age)
df1 <- data.frame(row.names = no,name,student,age)
df1 <- data.frame(row.names = name,no,student,age) #만약 row.names에 name이 들어간다면 위와 달리 name이 먼저 나타나고 no가 이후에 나타날 것이다.
df1
#실습
#df1에서 no가 1001인 데이터를 조회해라.
df1[1001,] #숫자로 조회하는 경우 1001 번째의 인덱스를 의미한다. 인덱스로 조회한 경우
df1['1001',] #따라서 문자 형태로 조회해야함. row.names 로 조회한 경우
#조회 방식은 matrix와 비슷하다. ['1001', ] 주황색 부분에는 해당 행의 열 index가 들어갈 수 있다. 현재 예시는 비워져 있으므로 모든 열이 조회될 것이다.
#df1에서 age칼럼을 모두 조회해라
df1[,'age'] #age열의 값을 벡터형태로 리턴한다.
#df1에서 name,age 칼럼의 1002 번째 방을 조회해라라
df1['1002',c('name','age')]
#col명에 이름을 부여했을 경우에만 사용이 가능한 조회
#df1 에서 name 칼럼명 조회해라
df1[,'name']
df1$name #$로 칼럼 명을 통해 조회 가능하다.
#조회에 조건을 부여하기
#df1에서 name이 korea 인 데이터만 조회하기
df1[df1$name == 'korea', ]
df1[df1$name == 'korea', 'age'] #name 이 'korea'인 age의 값을 조회할 수 있다.
#실습
#df1에서 age가 20초과하는 데이터의 전체 열을 조회해라
df1[df1$age > 20,]
#df1에서 student가 FALSE인 데이터만 조회해라
df1[df1$student==FALSE,]
df1[]
#day02_08_dataframe.R
#데이터프레임 : 엑셀의 자료구조와 동일. 매트릭스와 같이 행과 열로 이뤄진 형태이며
#데이터 유형이 섞일 수 있다. (이기종의 데이터를 저장할 수 있다.)
#가장 많이 사용하는 데이터 구조!
#data.frame(벡터1,벡터2,벡터3)
name <- c('korea','E class','info')
name
age <- c(20,25)
age
student<-c(TRUE,FALSE,FALSE)
student
data.frame(name,student,age)
#age 가 들어가는경우 Error 발생
# Error in data.frame(name, student, age) :
# arguments imply differing number of rows: 3, 2
#개수가 부족하다는 것이다.
age <- c(20,25,30)
no <- c(1001,1002,1003)
df1 <- data.frame(no,name,student,age)
df1 <- data.frame(row.names = no,name,student,age)
df1 <- data.frame(row.names = name,no,student,age) #만약 row.names에 name이 들어간다면 위와 달리 name이 먼저 나타나고 no가 이후에 나타날 것이다.
df1
#실습
#df1에서 no가 1001인 데이터를 조회해라.
df1[1001,] #숫자로 조회하는 경우 1001 번째의 인덱스를 의미한다. 인덱스로 조회한 경우
df1['1001',] #따라서 문자 형태로 조회해야함. row.names 로 조회한 경우
#조회 방식은 matrix와 비슷하다. ['1001', ] 주황색 부분에는 해당 행의 열 index가 들어갈 수 있다. 현재 예시는 비워져 있으므로 모든 열이 조회될 것이다.
#df1에서 age칼럼을 모두 조회해라
df1[,'age'] #age열의 값을 벡터형태로 리턴한다.
#df1에서 name,age 칼럼의 1002 번째 방을 조회해라라
df1['1002',c('name','age')]
#col명에 이름을 부여했을 경우에만 사용이 가능한 조회
#df1 에서 name 칼럼명 조회해라
df1[,'name']
df1$name #$로 칼럼 명을 통해 조회 가능하다.
#조회에 조건을 부여하기
#df1에서 name이 korea 인 데이터만 조회하기
df1[df1$name == 'korea', ]
df1[df1$name == 'korea', 'age'] #name 이 'korea'인 age의 값을 조회할 수 있다.
#실습
#df1에서 age가 20초과하는 데이터의 전체 열을 조회해라
df1[df1$age > 20,]
#df1에서 student가 FALSE인 데이터만 조회해라
df1[df1$student==FALSE,]
df1[]
댓글
댓글 쓰기