English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R 데이터 프레임

데이터 프레임(Data frame)는 우리가 일반적으로 "표"라고 하는 것을 이해할 수 있습니다.

데이터 프레임은 R 언어의 데이터 구조로, 특별한 이차 리스트입니다.

데이터 프레임의 각 열은 독특한 열 이름을 가지며, 길이는 모두 같습니다. 동일한 열의 데이터 타입은 일관되어야 하며, 다른 열의 데이터 타입은 다를 수 있습니다.

R 언어 데이터 프레임은 data.frame() 함수를 사용하여 생성됩니다. 문법 형식은 다음과 같습니다:

data.frame(…, row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = default.stringsAsFactors())
  • ...: 열 벡터, 어떤 타입이든 될 수 있습니다. (문자형, 숫자형, 논리형), 일반적으로 tag = value 형식으로 표현되거나 value만으로 표현될 수 있습니다.

  • row.names: 행 이름, 기본적으로 NULL로 설정됩니다. 단일 숫자, 문자열 또는 문자열과 숫자의 벡터로 설정할 수 있습니다.

  • check.rows: check whether the names and lengths of the rows are consistent.

  • check.names: check whether the variable names of the data frame are valid.

  • fix.empty.names: boolean value, whether to automatically set names for unnamed parameters.

  • stringsAsFactors: boolean value, whether to automatically set names for unnamed parameters.-: boolean value, whether to convert characters to factors, factory

fresh 的默认值是 TRUE,可以通过设置选项(stringsAsFactors=FALSE)来修改。

table = data.frame(
    이름 = c("장산", "이지"),
    공 번호 = c("001","002"),
    월급 = c(1000, 2000)
    
)
以下创建一个简单的数据框,包含姓名、工号、月薪:

위의 코드를 실행하면 결과가 출력됩니다:

이름 공 번호 월급
1 장산  001 1000
2 이사  002 2000

print(table) # 查看 table 数据 数据框的数据结构可以通过 str()

table = data.frame(
    이름 = c("장산", "이지"),
    공 번호 = c("001","002"),
    월급 = c(1000, 2000)
)
函数来展示:
# 获取数据结构

위의 코드를 실행하면 결과가 출력됩니다:

'data.frame':   2 obs. of  3 variables:
 $ 姓名: chr  "张三" "李四"
 $ 工号: chr  "001" "002"
 $ 月薪: num  1000 2000

summary() 可以显示数据框的概要信息:

table = data.frame(
    이름 = c("장산", "이지"),
    공 번호 = c("001","002"),
    월급 = c(1000, 2000)
    
)
# 显示概要
print(summary(table))

위의 코드를 실행하면 결과가 출력됩니다:

이름    직원번호   직원번호   월급     
Length:2           Length:2           Min.  :1000  
Class :character  Class :character   1st Qu. :1250  
Mode  :character  Mode  :character  Median :1500  
                                      Mean  :1500  
                                      3rd Qu. :1750  
                                      Max.  :2000

我们也可以提取指定的列:

table = data.frame(
    이름 = c("장산", "이지"),
    공 번호 = c("001","002"),
    월급 = c(1000, 2000)
)
# 提取指定的列
result <- data.frame(table$이름,table$月薪)
print(result)

위의 코드를 실행하면 결과가 출력됩니다:

table.이름 table.월급
1       장산       1000
2       이지       2000

以下形式显示前面两行:

table = data.frame(
    이름 = c("장산", "이사","왕오"),
    공 번호 = c("001","002","003"),
    월급 = c(1000, 2000,3000)
)
print(table)
# 提取前面两行
print("---输出前面两行----])
result <- table[1:2,]
print(result)

위의 코드를 실행하면 결과가 출력됩니다:

이름 공 번호 월급
1 장산  001 1000
2 이사  002 2000
3 왕오  003 3000
[1}"---输出前面两行----"
  이름 공 번호 월급
1 장산  001 1000
2 이사  002 2000

지정된 행의 특정 열 데이터를 좌표와 유사한 형식으로 읽을 수 있습니다. 다음에서 행 번호 2 、3 # 행 번호 1 、2 행 데이터::

table = data.frame(
    이름 = c("장산", "이사","왕오"),
    공 번호 = c("001","002","003"),
    월급 = c(1000, 2000,3000)
)
# 행 번호 2 、3 # 행 번호 1 、2 행 데이터:
result <- table[c(2,3)),c(1,2)]
print(result)

위의 코드를 실행하면 결과가 출력됩니다:

이름 직원번호
2 이사  002
3 왕오  003

데이터 프레임 확장

기존 데이터 프레임을 확장할 수 있습니다. 다음 예제에서 부서 열을 추가합니다:

table = data.frame(
    이름 = c("장산", "이사","왕오"),
    공 번호 = c("001","002","003"),
    월급 = c(1000, 2000,3000)
)
# 부서 열 추가
table$부서 <- c("운영","기술","편집")
print(table)

위의 코드를 실행하면 결과가 출력됩니다:

이름 직원번호 월급 부서
1 장산  001 1000 운영
2 이사  002 2000 기술
3 왕오  003 3000 편집

사용할 수 있습니다 cbind() 함수는 여러 벡터를 하나의 데이터 프레임으로 병합합니다:

# 벡터 생성
sites <- c("Google","w3codebox","Taobao")
likes <- c(222,111,123)
url <- c("www.google.com","ko.oldtoolbag.com","www.taobao.com")
# 벡터를 데이터 프레임으로 병합
addresses <- cbind(sites,likes,url)
# 데이터 프레임 확인
print(addresses)

위의 코드를 실행하면 결과가 출력됩니다:

     sites    likes url             
[1,] "Google" "222" "www.google.com"
[2,] "w3codebox" "111" "ko.oldtoolbag.com"
[3,] "Taobao" "123" "www.taobao.com"

두 데이터 프레임을 병합하려면 사용할 수 있습니다 rbind() 함수:

table = data.frame(
    이름 = c("장산", "이사","왕오"),
    공 번호 = c("001","002","003"),
    월급 = c(1000, 2000,3000)
)
newtable = data.frame(
    이름 = c("영민", "초보자"),
    공 번호 = c("101",102"),
    월급 = c(5000, 7000)
)
# 두 데이터 프레임을 병합
result <- rbind(table,newtable)
print(result)

위의 코드를 실행하면 결과가 출력됩니다:

이름 공 번호 월급
1 장산  001 1000
2 이사  002 2000
3 왕오  003 3000
4 영민  101 5000
5 초보자  102 7000