91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言數據重塑知識點有哪些

發布時間:2021-03-29 09:21:12 來源:億速云 閱讀:171 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關R語言數據重塑知識點有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

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

于數據幀中加入列和行

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

# 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)

當我們執行上面的代碼,它產生以下結果 -

# # # # 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

合并數據幀

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

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

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)

當我們執行上面的代碼,它產生以下結果 -

  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

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

 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

在每個主題上有兩個協變量和多達四個測量值。 數據從 Excel 導出為 mr.csv 文件。

我們可以使用堆棧來幫助操縱這些數據以給出單個響應。

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

結果為:

   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
...

函數unstack的方向相反,可能對導出數據很有用。

另一種方法是使用函數重塑

> 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
...

重塑函數的語法比堆棧更復雜,但可以用于“long”表單中不止一列的數據。如果方向=“寬”,重塑還可以執行相反的轉換。

感謝各位的閱讀!關于“R語言數據重塑知識點有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

溧阳市| 花垣县| 长沙市| 平原县| 晴隆县| 浦县| 明溪县| 方城县| 石阡县| 永靖县| 梁平县| 马鞍山市| 太康县| 汾阳市| 隆昌县| 济宁市| 凤台县| 拜城县| 尤溪县| 越西县| 承德市| 鹰潭市| 富平县| 延吉市| 宽甸| 平泉县| 邹平县| 阳谷县| 师宗县| 清水县| 鄂尔多斯市| 崇信县| 临沧市| 新兴县| 武陟县| 夏津县| 大宁县| 朔州市| 元谋县| 平昌县| 资溪县|