데이터 프레임이란 무엇입니까?
A 데이터 프레임 길이가 같은 벡터의 목록입니다. 행렬에는 한 가지 유형의 데이터만 포함되는 반면, 데이터 프레임에는 다양한 데이터 유형(숫자, 문자, 요소 등)이 허용됩니다.
데이터 프레임을 만드는 방법
우리는 데이터 프레임을 만들 수 있습니다 R 변수 a,b,c,d를 data.frame() 함수에 전달합니다. R은 데이터프레임을 생성하고 name()을 사용하여 열 이름을 지정하고 변수 이름을 간단히 지정할 수 있습니다.
data.frame(df, stringsAsFactors = TRUE)
인수:
- df: 데이터 프레임으로 변환할 행렬일 수도 있고 조인할 변수 모음일 수도 있습니다.
- 문자열AsFactors: 기본적으로 문자열을 인수로 변환합니다.
동일한 길이의 XNUMX개 변수를 결합하여 첫 번째 데이터 세트에 대해 R에서 데이터프레임을 만들 수 있습니다.
# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df
출력:
## a b c d## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
열 헤더의 이름이 변수와 동일한 것을 볼 수 있습니다. names() 함수를 사용하여 R의 열 이름을 변경할 수 있습니다. 아래의 R 생성 데이터 프레임 예제를 확인하세요.
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
출력:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)
출력:
## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",..: 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7
기본적으로 데이터 프레임은 문자열 변수를 요소로 반환합니다.
관련 기사
- 초보자를 위한 R 튜토리얼: R 프로그래밍 언어 배우기
- R의 행렬 함수: 생성, 인쇄, 열 및 슬라이스 추가
데이터 프레임 슬라이스
데이터 프레임의 값을 SLICE하는 것이 가능합니다. 데이터 프레임 이름 앞에 괄호로 반환할 행과 열을 선택합니다.
데이터 프레임은 행과 열로 구성됩니다(df[A, B]). A는 행을 나타내고 B는 열을 나타냅니다. 행 및/또는 열을 지정하여 조각화할 수 있습니다.
그림 1에서 왼쪽 부분은 행, 그리고 오른쪽 부분은 열. 기호 :는 다음을 의미합니다. 에. 예를 들어 1:3은 1에서 값을 선택하려고 합니다. 에 3.
아래 다이어그램에서는 데이터 프레임의 다양한 선택 항목에 액세스하는 방법을 보여줍니다.
- 노란색 화살표는 다음을 선택합니다. 열 1의 칼럼 2
- 녹색 화살표는 다음을 선택합니다. 행 1 ~ 2
- 빨간색 화살표는 다음을 선택합니다. 칼럼 1
- 파란색 화살표는 다음을 선택합니다. 행 1 년 ~ 3 년 열 3 ~ 4
왼쪽 부분을 비워두면 R은 다음을 선택합니다. 모든 행. 비유하자면, 오른쪽 부분을 비워두면 R은 다음을 선택합니다. 모든 열.
콘솔에서 코드를 실행할 수 있습니다.
## Select row 1 in column 2df[1,2]
출력:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
출력:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
출력:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
출력:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
이름으로 열을 선택할 수도 있습니다. 예를 들어 아래 코드는 ID와 store라는 두 개의 열을 추출합니다.
# Slice with columns namedf[, c('ID', 'store')]
출력:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
데이터 프레임에 열 추가
데이터 프레임에 열을 추가할 수도 있습니다. 데이터프레임 R 변수를 추가하고 R의 데이터프레임에 열을 추가하려면 $ 기호를 사용해야 합니다.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
출력:
## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5
참고: 벡터의 요소 수는 데이터 프레임의 요소 수와 같아야 합니다. 다음 문장을 실행하여 데이터 프레임 R에 열을 추가합니다.
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
오류가 발생합니다.
Error in `lt;-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40)) replacement has 3 rows, data has 4
데이터 프레임의 열 선택
때때로, 우리는 나중에 사용하기 위해 데이터 프레임의 열을 저장하거나 열에 대한 작업을 수행해야 합니다. 우리는 $ 기호를 사용하여 데이터 프레임에서 열을 선택할 수 있습니다.
# Select the column IDdf$ID
출력:
## [1] 1 2 3 4
데이터 프레임 부분 집합
이전 섹션에서는 조건 없이 전체 열을 선택했습니다. 가능하다 서브 세트 특정 조건이 참인지 아닌지에 따라 결정됩니다.
subset() 함수를 사용합니다.
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
가격이 10보다 높은 항목만 반품하고 싶으면 다음을 수행할 수 있습니다.
# Select price above 5subset(df, subset = price > 5)
출력:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7
당신은 좋아할 것입니다 :
- 최고의 R 프로그래밍 도서 17권…
- R의 GLM: 일반화 선형 모델…
- Dplyr 튜토리얼: 데이터 병합 및 조인…
- R에서 CSV, Excel로 데이터를 내보내는 방법