R에서 큰 데이터 프레임 만들기

Jinku Hu 2023년1월30일
  1. 벡터와 인자를 사용하여 R에서 데이터 프레임 만들기
  2. 목록을 사용하여 R에서 데이터 프레임 만들기
  3. 행렬을 사용하여 R에서 데이터 프레임 만들기
R에서 큰 데이터 프레임 만들기

이 기사에서는 R에서 큰 데이터 프레임을 만드는 몇 가지 방법을 설명합니다.

벡터와 인자를 사용하여 R에서 데이터 프레임 만들기

데이터 프레임은 R 언어의 가장 강력한 내장 데이터 구조이며 각 열의 길이가 같고 이름이 있어야하는 표 형식 행렬과 유사합니다. 그러나 그 아래에는 데이터 프레임의 각 열이 마치list데이터 구조의 요소 인 것처럼 처리되므로 더 많은list유사 기능이 있습니다. 장점은 다음 코드 스 니펫에 설명 된대로 벡터와 요인의 혼합을 사용하여 데이터 프레임을 구성 할 수 있다는 것입니다. data.frame함수를 사용하여 벡터와 인자에서 데이터 프레임 객체를 만듭니다.

v1 <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
v2 <- c(11, 12, 13, 21, 22, 23)
v3 <- c(1, 2, 3, 1, 2, 3)
wday <- factor(c("Wed", "Thu", "Mon", "Wed", "Thu", "Fri"))

df2 <- data.frame(v1, v2, v3, wday)

출력:

v1 v2 v3 wday
1 1.1 11  1  Wed
2 1.2 12  2  Thu
3 1.3 13  3  Mon
4 2.1 21  1  Wed
5 2.2 22  2  Thu
6 2.3 23  3  Fri

목록을 사용하여 R에서 데이터 프레임 만들기

또는 목록 개체를 사용하여 데이터 프레임 개체를 만들 수 있습니다. 그러나이 메서드에는 단일 목록 개체를 데이터 프레임으로 변환하는as.data.frame이라는 다른 함수가 필요합니다. 다음 예제에서list함수를 사용하여 목록 객체를 구성하고as.data.frame의 인수로 호출하는 체인을 구성합니다. 데이터 프레임에는 열 레이블이 있어야하므로 사용자가 지정하지 않으면 일반적으로 자동으로 선택됩니다. 변환 중에 원하지 않는 이름이 선택되면 항상colnames함수를 호출하고 여기에 열 이름 벡터를 할당 할 수 있습니다.

v1 <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
v2 <- c(11, 12, 13, 21, 22, 23)
v3 <- c(1, 2, 3, 1, 2, 3)
wday <- factor(c("Wed", "Thu", "Mon", "Wed", "Thu", "Fri"))

df1 <- as.data.frame(list(v1, v2, v3, wday))
colnames(df1) <- c("v1", "v2", "v3", "wday")
df1

출력:

v1 v2 v3 wday
1 1.1 11  1  Wed
2 1.2 12  2  Thu
3 1.3 13  3  Mon
4 2.1 21  1  Wed
5 2.2 22  2  Thu
6 2.3 23  3  Fri

행렬을 사용하여 R에서 데이터 프레임 만들기

때로는 벡터 또는 목록으로 초기화하는 데 비현실적인 대규모 데이터 프레임 할당이 필요합니다. 다행히도matrix기능은 행 / 열 번호를 지정하여 대용량 데이터 프레임을 구성하는 쉽고 빠른 방법을 제공합니다. 선택적으로 첫 번째 인수로 전달 된 벡터를 사용하여 데이터 프레임의 값을 초기화 할 수 있습니다. 그렇지 않으면 요소는NA값을 갖습니다.

m1 <- matrix(1:1000, ncol = 10, nrow = 100)
df1 <- as.data.frame(m1)
df1

출력:

V1  V2  V3  V4  V5  V6  V7  V8  V9  V10
1     1 101 201 301 401 501 601 701 801  901
2     2 102 202 302 402 502 602 702 802  902
....
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - R Data Frame