在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ R語言數(shù)據(jù)幀
R語言列表
R語言隨機(jī)森林
R語言矩陣
R語言邏輯回歸
R語言數(shù)據(jù)幀
R語言數(shù)據(jù)重塑
R語言概述
R語言包
R語言字符串
R語言CSV文件
R語言運(yùn)算符
為什么使用R語言做統(tǒng)計(jì)?
R語言Web數(shù)據(jù)
R語言二進(jìn)制文件
R語言XML文件
R語言JSON文件
R語言因子
R語言容易學(xué)習(xí)嗎?
R語言基礎(chǔ)語法
R語言向量
R語言教程
R語言正態(tài)分布
R語言平均值,中位數(shù)和眾數(shù)
R語言變量
R語言條形圖
R語言決策樹
R語言開發(fā)環(huán)境安裝配置
R語言數(shù)組
R語言數(shù)據(jù)類型
R語言非線性最小二乘法
R語言直方圖
R語言卡方檢驗(yàn)
R語言泊松回歸
R語言決策結(jié)構(gòu)
R語言盒形圖(箱形圖)
R語言協(xié)方差分析
R語言二項(xiàng)分布
R語言餅狀圖
R語言循環(huán)
R語言散點(diǎn)圖
R語言線性回歸
R語言時(shí)間序列分析
R語言線形圖
R語言在現(xiàn)實(shí)中的應(yīng)用
R語言生存分析
R語言多元(多重)回歸
R語言函數(shù)
R語言Excel文件
R語言連接數(shù)據(jù)庫(MySQL)

R語言數(shù)據(jù)幀

數(shù)據(jù)幀是一個(gè)表或二維類似數(shù)組的結(jié)構(gòu),其中每列包含一個(gè)變量的值,每行包含來自每一列的一組值。

以下是數(shù)據(jù)幀的特征 -

  • 列名稱應(yīng)該不為空。
  • 行名稱應(yīng)該是唯一的。
  • 存儲(chǔ)在數(shù)據(jù)幀中的數(shù)據(jù)可以是數(shù)字,因子或字符類型。
  • 每列應(yīng)包含相同數(shù)量的數(shù)據(jù)項(xiàng)。

創(chuàng)建數(shù)據(jù)幀

# Create the data frame.
emp.data <- data.frame(
   emp_id = c (1:5), 
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25), 

   start_date = as.Date(c("2017-01-01", "2017-09-23", "2017-11-15", "2017-05-11",
      "2018-03-27")),
   stringsAsFactors = FALSE
)
# Print the data frame.            
print(emp.data)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

  emp_id emp_name salary start_date
1      1     Rick 623.30 2017-01-01
2      2      Dan 515.20 2017-09-23
3      3 Michelle 611.00 2017-11-15
4      4     Ryan 729.00 2017-05-11
5      5     Gary 843.25 2018-03-27

獲取數(shù)據(jù)幀的結(jié)構(gòu)

通過使用str()函數(shù)可以查看數(shù)據(jù)幀的結(jié)構(gòu),參考以下代碼實(shí)現(xiàn) -

# Create the data frame.
emp.data <- data.frame(
   emp_id = c (1:5), 
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25), 

   start_date = as.Date(c("2017-01-01", "2017-09-23", "2017-11-15", "2017-05-11",
      "2018-03-27")),
   stringsAsFactors = FALSE
)
# Get the structure of the data frame.
str(emp.data)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

'data.frame':   5 obs. of  4 variables:
 $ emp_id    : int  1 2 3 4 5
 $ emp_name  : chr  "Rick" "Dan" "Michelle" "Ryan" ...
 $ salary    : num  623 515 611 729 843
 $ start_date: Date, format: "2017-01-01" "2017-09-23" ...

數(shù)據(jù)幀數(shù)據(jù)摘要

數(shù)據(jù)的統(tǒng)計(jì)摘要和性質(zhì)可以通過應(yīng)用summary()函數(shù)獲得。

# Create the data frame.
emp.data <- data.frame(
   emp_id = c (1:5), 
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25), 

   start_date = as.Date(c("2015-01-01", "2016-09-23", "2017-11-15", "2018-05-11",
      "2018-03-27")),
   stringsAsFactors = FALSE
)
# Print the summary.

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

     emp_id    emp_name             salary        start_date        
 Min.   :1   Length:5           Min.   :515.2   Min.   :2015-01-01  
 1st Qu.:2   Class :character   1st Qu.:611.0   1st Qu.:2016-09-23  
 Median :3   Mode  :character   Median :623.3   Median :2017-11-15  
 Mean   :3                      Mean   :664.4   Mean   :2017-03-28  
 3rd Qu.:4                      3rd Qu.:729.0   3rd Qu.:2018-03-27  
 Max.   :5                      Max.   :843.2   Max.   :2018-05-11

從數(shù)據(jù)幀提取數(shù)據(jù)

使用列名稱從數(shù)據(jù)幀中提取特定列。

# Create the data frame.
emp.data <- data.frame(
   emp_id = c (1:5),
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25),

   start_date = as.Date(c("2012-01-01","2013-09-23","2014-11-15","2014-05-11",
      "2015-03-27")),
   stringsAsFactors = FALSE
)
# Extract Specific columns.
result <- data.frame(emp.data$emp_name,emp.data$salary)
print(result)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

  emp.data.emp_name emp.data.salary
1              Rick          623.30
2               Dan          515.20
3          Michelle          611.00
4              Ryan          729.00
5              Gary          843.25

提取前兩行,然后提取所有列 -

# Create the data frame.
emp.data <- data.frame(
   emp_id = c (1:5),
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25),

   start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
      "2015-03-27")),
   stringsAsFactors = FALSE
)
# Extract first two rows.
result <- emp.data[1:2,]
print(result)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

  emp_id    emp_name   salary    start_date
1      1     Rick      623.3     2012-01-01
2      2     Dan       515.2     2013-09-23

提取第2列和第4列和第3行和第5列

# Create the data frame.
emp.data <- data.frame(
   emp_id = c (1:5), 
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25), 

    start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
      "2015-03-27")),
   stringsAsFactors = FALSE
)

# Extract 3rd and 5th row with 2nd and 4th column.
result <- emp.data[c(3,5),c(2,4)]
print(result)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

  emp_name start_date
3 Michelle 2014-11-15
5     Gary 2015-03-27

擴(kuò)展數(shù)據(jù)幀

可以通過添加列和行來擴(kuò)展數(shù)據(jù)幀。

添加列

只需使用新的列名來添加列向量。參考以下示例代碼 -

# Create the data frame.
emp.data <- data.frame(
   emp_id = c (1:5), 
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25), 

   start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
      "2015-03-27")),
   stringsAsFactors = FALSE
)

# Add the "dept" coulmn.
emp.data$dept <- c("IT","Operations","IT","HR","Finance")
v <- emp.data
print(v)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

  emp_id   emp_name    salary    start_date       dept
1     1    Rick        623.30    2012-01-01       IT
2     2    Dan         515.20    2013-09-23       Operations
3     3    Michelle    611.00    2014-11-15       IT
4     4    Ryan        729.00    2014-05-11       HR
5     5    Gary        843.25    2015-03-27       Finance

添加行

要將更多行永久添加到現(xiàn)有數(shù)據(jù)幀,需要使用與現(xiàn)有數(shù)據(jù)幀相同結(jié)構(gòu)的新行,并使用rbind()函數(shù)。

在下面的示例中,我們使用新行創(chuàng)建一個(gè)數(shù)據(jù)幀,并將其與現(xiàn)有的數(shù)據(jù)幀進(jìn)行合并,以創(chuàng)建最終的數(shù)據(jù)幀。

# Create the first data frame.
emp.data <- data.frame(
   emp_id = c (1:5), 
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25), 

   start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
      "2015-03-27")),
   dept = c("IT","Operations","IT","HR","Finance"),
   stringsAsFactors = FALSE
)

# Create the second data frame
emp.newdata <-     data.frame(
   emp_id = c (6:8), 
   emp_name = c("Rasmi","Pranab","Tusar"),
   salary = c(578.0,722.5,632.8), 
   start_date = as.Date(c("2013-05-21","2013-07-30","2014-06-17")),
   dept = c("IT","Operations","Fianance"),
   stringsAsFactors = FALSE
)

# Bind the two data frames.
emp.finaldata <- rbind(emp.data,emp.newdata)
print(emp.finaldata)

當(dāng)我們執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果 -

  emp_id     emp_name    salary     start_date       dept
1      1     Rick        623.30     2012-01-01       IT
2      2     Dan         515.20     2013-09-23       Operations
3      3     Michelle    611.00     2014-11-15       IT
4      4     Ryan        729.00     2014-05-11       HR
5      5     Gary        843.25     2015-03-27       Finance
6      6     Rasmi       578.00     2013-05-21       IT
7      7     Pranab      722.50     2013-07-30       Operations
8      8     Tusar       632.80     2014-06-17       Fianance