欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語言數(shù)據(jù)重塑知識點總結(jié)

 更新時間:2021年03月28日 14:55:57   作者:w3cschool  
在本篇文章里小編給大家整理的是一篇關(guān)于R語言數(shù)據(jù)重塑的相關(guān)知識點內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。

R 語言中的數(shù)據(jù)重塑是關(guān)于改變數(shù)據(jù)被組織成行和列的方式。 大多數(shù)時間 R 語言中的數(shù)據(jù)處理是通過將輸入數(shù)據(jù)作為數(shù)據(jù)幀來完成的。 很容易從數(shù)據(jù)幀的行和列中提取數(shù)據(jù),但是在某些情況下,我們需要的數(shù)據(jù)幀格式與我們接收數(shù)據(jù)幀的格式不同。 R 語言具有許多功能,在數(shù)據(jù)幀中拆分,合并和將行更改為列,反之亦然。

于數(shù)據(jù)幀中加入列和行

我們可以使用 cbind() 函數(shù)連接多個向量來創(chuàng)建數(shù)據(jù)幀。 此外,我們可以使用 rbind() 函數(shù)合并兩個數(shù)據(jù)幀。

# Create vector objects.
city <- c("Tampa","Seattle","Hartford","Denver")
state <- c("FL","WA","CT","CO")
zipcode <- c(33602,98104,06161,80294)

# Combine above three vectors into one data frame.
addresses <- cbind(city,state,zipcode)

# Print a header.
cat("# # # # The First data frame
") 

# Print the data frame.
print(addresses)

# Create another data frame with similar columns
new.address <- data.frame(
  city = c("Lowry","Charlotte"),
  state = c("CO","FL"),
  zipcode = c("80230","33949"),
  stringsAsFactors = FALSE
)

# Print a header.
cat("# # # The Second data frame
") 

# Print the data frame.
print(new.address)

# Combine rows form both the data frames.
all.addresses <- rbind(addresses,new.address)

# Print a header.
cat("# # # The combined data frame
") 

# Print the result.
print(all.addresses)

當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -

# # # # The First data frame
   city    state zipcode
[1,] "Tampa"  "FL" "33602"
[2,] "Seattle" "WA" "98104"
[3,] "Hartford" "CT"  "6161" 
[4,] "Denver"  "CO" "80294"

# # # The Second data frame
    city    state  zipcode
1   Lowry   CO   80230
2   Charlotte FL   33949

# # # The combined data frame
    city   state zipcode
1   Tampa   FL  33602
2   Seattle  WA  98104
3   Hartford CT   6161
4   Denver  CO  80294
5   Lowry   CO  80230
6   Charlotte FL  33949

合并數(shù)據(jù)幀

我們可以使用 merge() 函數(shù)合并兩個數(shù)據(jù)幀。 數(shù)據(jù)幀必須具有相同的列名稱,在其上進行合并。

在下面的例子中,我們考慮 library 名稱“MASS”中有關(guān) Pima Indian Women 的糖尿病的數(shù)據(jù)集。 我們基于血壓(“bp”)和體重指數(shù)(“bmi”)的值合并兩個數(shù)據(jù)集。 在選擇這兩列用于合并時,其中這兩個變量的值在兩個數(shù)據(jù)集中匹配的記錄被組合在一起以形成單個數(shù)據(jù)幀。

library(MASS)
merged.Pima <- merge(x = Pima.te, y = Pima.tr,
  by.x = c("bp", "bmi"),
  by.y = c("bp", "bmi")
)
print(merged.Pima)
nrow(merged.Pima)

當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -

  bp bmi npreg.x glu.x skin.x ped.x age.x type.x npreg.y glu.y skin.y ped.y
1 60 33.8    1  117   23 0.466  27   No    2  125   20 0.088
2 64 29.7    2  75   24 0.370  33   No    2  100   23 0.368
3 64 31.2    5  189   33 0.583  29  Yes    3  158   13 0.295
4 64 33.2    4  117   27 0.230  24   No    1  96   27 0.289
5 66 38.1    3  115   39 0.150  28   No    1  114   36 0.289
6 68 38.5    2  100   25 0.324  26   No    7  129   49 0.439
7 70 27.4    1  116   28 0.204  21   No    0  124   20 0.254
8 70 33.1    4  91   32 0.446  22   No    9  123   44 0.374
9 70 35.4    9  124   33 0.282  34   No    6  134   23 0.542
10 72 25.6    1  157   21 0.123  24   No    4  99   17 0.294
11 72 37.7    5  95   33 0.370  27   No    6  103   32 0.324
12 74 25.9    9  134   33 0.460  81   No    8  126   38 0.162
13 74 25.9    1  95   21 0.673  36   No    8  126   38 0.162
14 78 27.6    5  88   30 0.258  37   No    6  125   31 0.565
15 78 27.6   10  122   31 0.512  45   No    6  125   31 0.565
16 78 39.4    2  112   50 0.175  24   No    4  112   40 0.236
17 88 34.5    1  117   24 0.403  40  Yes    4  127   11 0.598
  age.y type.y
1   31   No
2   21   No
3   24   No
4   21   No
5   21   No
6   43  Yes
7   36  Yes
8   40   No
9   29  Yes
10  28   No
11  55   No
12  39   No
13  39   No
14  49  Yes
15  49  Yes
16  38   No
17  28   No
[1] 17

有時,電子表格數(shù)據(jù)的格式很緊湊,可以給出每個主題的協(xié)變量,然后是該主題的所有觀測值。 R的建模功能需要在單個列中進行觀察。 考慮以下來自重復(fù)MRI腦測量的數(shù)據(jù)樣本

 Status  Age  V1   V2   V3  V4
   P 23646 45190 50333 55166 56271
   CC 26174 35535 38227 37911 41184
   CC 27723 25691 25712 26144 26398
   CC 27193 30949 29693 29754 30772
   CC 24370 50542 51966 54341 54273
   CC 28359 58591 58803 59435 61292
   CC 25136 45801 45389 47197 47126

在每個主題上有兩個協(xié)變量和多達四個測量值。 數(shù)據(jù)從 Excel 導(dǎo)出為 mr.csv 文件。

我們可以使用堆棧來幫助操縱這些數(shù)據(jù)以給出單個響應(yīng)。

zz <- read.csv("mr.csv", strip.white = TRUE)
zzz <- cbind(zz[gl(nrow(zz), 1, 4*nrow(zz)), 1:2], stack(zz[, 3:6]))

結(jié)果為:

   Status  Age values ind
X1     P 23646 45190 V1
X2    CC 26174 35535 V1
X3    CC 27723 25691 V1
X4    CC 27193 30949 V1
X5    CC 24370 50542 V1
X6    CC 28359 58591 V1
X7    CC 25136 45801 V1
X11    P 23646 50333 V2
...

函數(shù)unstack的方向相反,可能對導(dǎo)出數(shù)據(jù)很有用。

另一種方法是使用函數(shù)重塑

> reshape(zz, idvar="id",timevar="var",
 varying=list(c("V1","V2","V3","V4")),direction="long")
  Status  Age var  V1 id
1.1   P 23646  1 45190 1
2.1   CC 26174  1 35535 2
3.1   CC 27723  1 25691 3
4.1   CC 27193  1 30949 4
5.1   CC 24370  1 50542 5
6.1   CC 28359  1 58591 6
7.1   CC 25136  1 45801 7
1.2   P 23646  2 50333 1
2.2   CC 26174  2 38227 2
...

重塑函數(shù)的語法比堆棧更復(fù)雜,但可以用于“l(fā)ong”表單中不止一列的數(shù)據(jù)。如果方向=“寬”,重塑還可以執(zhí)行相反的轉(zhuǎn)換。

到此這篇關(guān)于R語言數(shù)據(jù)重塑知識點總結(jié)的文章就介紹到這了,更多相關(guān)R語言數(shù)據(jù)重塑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • R語言 設(shè)置ylab每個漢字豎向排列的操作

    R語言 設(shè)置ylab每個漢字豎向排列的操作

    這篇文章主要介紹了R語言 設(shè)置ylab每個漢字豎向排列的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言繪制折線圖實例分析

    R語言繪制折線圖實例分析

    在本篇文章里小編給大家整理了一篇關(guān)于R語言繪制折線圖實例分析內(nèi)容,有需要的小伙伴可以跟著學(xué)習(xí)參考下。
    2021-04-04
  • R語言數(shù)據(jù)讀取以及數(shù)據(jù)保存方式

    R語言數(shù)據(jù)讀取以及數(shù)據(jù)保存方式

    這篇文章主要介紹了R語言數(shù)據(jù)讀取以及數(shù)據(jù)保存方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python調(diào)用R語言實例講解

    Python調(diào)用R語言實例講解

    這篇文章主要介紹了Python調(diào)用R語言實例講解,文中介紹的非常詳細(xì),有需要的同學(xué)可以研究下
    2021-03-03
  • R語言運行環(huán)境安裝配置詳解

    R語言運行環(huán)境安裝配置詳解

    這篇文章主要介紹了R語言運行環(huán)境安裝配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語言 data.frame()命令的使用說明

    R語言 data.frame()命令的使用說明

    這篇文章主要介紹了R語言 data.frame()命令的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言學(xué)習(xí)RcppEigen進行矩陣運算

    R語言學(xué)習(xí)RcppEigen進行矩陣運算

    這篇文章主要為大家介紹了R語言學(xué)習(xí)如何利用RcppEigen進行矩陣運算的實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 大數(shù)據(jù)分析R語言RStudio使用超詳細(xì)教程

    大數(shù)據(jù)分析R語言RStudio使用超詳細(xì)教程

    RStudio是用于R編程的開源工具,這篇文章主要介紹了大數(shù)據(jù)分析R語言RStudio使用教程和一些RStudio的重要技巧,竅門和快捷方式,可快速將您變成RStudio高級用戶,感興趣的朋友跟隨小編一起看看吧
    2021-03-03
  • R語言關(guān)于卡方檢驗實例詳解

    R語言關(guān)于卡方檢驗實例詳解

    在本篇文章里小編給大家整理了一篇關(guān)于R語言關(guān)于卡方檢驗實例 內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-05-05
  • R的ggplot2畫圖,去除灰色陰影和網(wǎng)格的方式

    R的ggplot2畫圖,去除灰色陰影和網(wǎng)格的方式

    這篇文章主要介紹了R的ggplot2畫圖,去除灰色陰影和網(wǎng)格的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論