data.frame:數據框架

一、創建數據框架

數據框架是 R 語言中一個非常重要的概念,它是一種類似於表格的數據結構,其中每一列可以是不同的數據類型,但是每一行必須是相同的長度。

創建一個數據框架最基本的方法就是使用 data.frame() 函數,我們可以用該函數來同時創建多個向量,並將它們組合成一個數據框架。以下是創建一個基本的數據框架的代碼示例:

name <- c("Alice", "Bob", "Cathy", "David")
age <- c(25, 30, 35, 40)
gender <- c("F", "M", "F", "M")
df <- data.frame(name, age, gender)

在這個例子中,我們創建了一個包含姓名、年齡和性別的數據框架,其中每一列都是一個向量。可以使用 is.data.frame() 函數來檢查這個對象是否為數據框架。

is.data.frame(df) #TRUE

二、數據框架操作

數據框架的操作包括增刪查改,以下分別進行詳細講解:

1.增加

數據框架的列可以通過新建一個向量並用 cbind() 函數添加到數據框架中,如下所示:

city <- c("Beijing", "Shanghai", "Guangzhou", "Shenzhen")
df <- cbind(df, city)

這樣,我們就將一個包含城市信息的向量添加到了數據框架中。還可以使用 rbind() 函數來添加新的行:

new_row <- c("Eric", 45, "M", "Hangzhou")
df <- rbind(df, new_row)

這個方法將一個新的向量作為行添加到了數據框架的末尾。

2.刪除

可以使用 $ 運算符或者 [,] 運算符來刪除數據框架中的列,如下所示:

df$city <- NULL  #刪除列
df <- df[-4,]     #刪除行

這裡我們使用了 $ 運算符來刪除了城市這一列,使用了 [-4,] 運算符來刪除了第四行。

3.查找

我們可以使用 $ 運算符來訪問數據框架中的每一列,也可以使用 [,] 運算符來查找特定的行和列,如下所示:

df$name   #查找 name 列
df[2,]    #查找第二行
df[,c("age", "gender")]   #查找 age 和 gender 列

這裡我們使用 [,] 運算符來查找了第二行和 age、gender 兩列。

4.修改

我們可以通過 $ 運算符或者 [,] 運算符來修改數據框架中的數據,如下所示:

df$name[1] <- "Annie"   #修改 name 列的第一個元素
df[1,"age"] <- 26       #修改第一行的 age 列

這裡我們使用 $ 運算符來修改了第一個元素,使用 [,] 運算符來修改了第一行的 age 列。

三、數據框架處理

數據框架在實際的數據分析中使用得非常頻繁,我們常常需要對數據框架進行各種各樣的處理。

1.排序

我們可以使用 order() 函數對數據框架中的某一列進行排序,如下所示:

df <- df[order(df$age),]  #按照 age 升序排序
df <- df[order(df$age, decreasing = TRUE),]  #按照 age 降序排序

這裡我們使用 order() 函數來對數據框架按照 age 列進行升序和降序排序。

2.過濾

我們可以使用邏輯運算符來對數據框架進行過濾,如下所示:

df[df$age > 30,]   #過濾出 age 大於 30 的行
df[df$gender == "F" & df$age < 35,]    #過濾出 gender 為 "F" 且 age 小於 35 的行

這裡我們使用了邏輯運算符來篩選出 age 大於 30 和 gender 為 “F” 且 age 小於 35 的行。

3.聚合

我們可以使用 dplyr 包提供的函數對數據框架進行聚合處理,如下所示:

library(dplyr)
df %>% group_by(gender) %>% summarise(mean_age = mean(age), max_age = max(age))  #按照 gender 列進行聚合

這裡我們使用了 dplyr 包提供的函數來對數據框架按照 gender 列進行聚合,計算了每個性別的平均年齡和最大年齡。

4.繪圖

我們可以使用 ggplot2 包提供的函數來對數據框架進行圖形化展示,如下所示:

library(ggplot2)
ggplot(df, aes(x=age, y=name, color=gender)) + geom_point()  #按照 age 列和 name 列作為橫縱軸,gender 列作為顏色繪製散點圖

這裡我們使用了 ggplot2 包提供的函數來對數據框架繪製散點圖,並按照 gender 列的值進行了着色。

原創文章,作者:THDRI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/334701.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
THDRI的頭像THDRI
上一篇 2025-02-05 13:05
下一篇 2025-02-05 13:05

相關推薦

  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • Zlios——一個多功能的開發框架

    你是否在開發過程中常常遇到同樣的問題,需要不斷去尋找解決方案?你是否想要一個多功能、易於使用的開發框架來解決這些問題?那麼,Zlios就是你需要的框架。 一、簡介 Zlios是一個…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29
  • Python多線程讀取數據

    本文將詳細介紹多線程讀取數據在Python中的實現方法以及相關知識點。 一、線程和多線程 線程是操作系統調度的最小單位。單線程程序只有一個線程,按照程序從上到下的順序逐行執行。而多…

    編程 2025-04-29
  • agavi開發框架

    Agavi是一個基於MVC模式的Web應用程序開發框架,以REST和面向資源的設計為核心思想。本文章將從Agavi的概念、優點、使用方法和實例等方面進行詳細介紹。 一、概念 Aga…

    編程 2025-04-29
  • Python兩張表數據匹配

    本篇文章將詳細闡述如何使用Python將兩張表格中的數據匹配。以下是具體的解決方法。 一、數據匹配的概念 在生活和工作中,我們常常需要對多組數據進行比對和匹配。在數據量較小的情況下…

    編程 2025-04-29
  • Python爬取公交數據

    本文將從以下幾個方面詳細闡述python爬取公交數據的方法: 一、準備工作 1、安裝相關庫 import requests from bs4 import BeautifulSou…

    編程 2025-04-29
  • Python數據標準差標準化

    本文將為大家詳細講述Python中的數據標準差標準化,以及涉及到的相關知識。 一、什麼是數據標準差標準化 數據標準差標準化是數據處理中的一種方法,通過對數據進行標準差標準化可以將不…

    編程 2025-04-29

發表回復

登錄後才能評論