R語言的reshape2包及相關函式

2021-10-08 01:32:14 字數 1648 閱讀 4706

merge函式:合併擁有兩個共同列名或者兩個共同行名的資料幀。

merge(x, y, by = intersect(names(x), names(y)),

by.x = by, by.y = by, all = false, all.x = all, all.y = all,

sort = true, suffixes = c(".x",".y"), no.dups = true,

incomparables = null, ...)

x,y:資料框、或者別的準備合併的物件

by,by.x,by.y:用於合併的列或行,預設情況為合併兩個資料幀名字相同的列,by.x by.y用於特殊指定。

資料幀中與指定的列匹配的行被提煉出來組成為乙個新的資料幀。

可以用數字、邏輯向量、名字來指定列。

all:logical,all = l代表all.x = l all.y = l,l為true 或者 false.

all.x:logical 當該項為true時,額外的行將被新增到輸出中,對於x中在y中沒有匹配行的每一行,這些行將在那些通常用y的值填充的列中包含nas。預設值為false,因此只有包含來自x和y的資料的行才會包含在輸出中。

all.y:和all.x類同。

sort:logical,是否按列排列,預設為true。

suffixes:2長度的字元向量,用於指定輸出結果中未用於合併的列的字尾。

incomparables:不能匹配上的資料(?),預設為null。

如果by或by.x by.y均長度為零,即為空或者長度為零的向量,輸出結果r是x和y的笛卡爾乘積。

dim(r) = c(nrow(x) * nrow(y), ncol(x) + ncol(y))

melt()函式 多維專一維

melt(data, ..., na.rm = false, value.name = "value")

資料框、陣列、list

melt(

data,

id.vars,

measure.vars,

variable.name = "variable",

...,

na.rm = false,

value.name = "value",

factorsasstrings = true

)cast 一維轉多維

根據需要向量/矩陣/陣列輸出還是資料幀輸出,使用acast或dcast。資料幀最多可以有兩個維度。

dcast(

data,

formula,

fun.aggregate = null,

...,

margins = null,

subset = null,

fill = null,

drop = true,

value.var = guess_value(data)

)acast(

data,

formula,

fun.aggregate = null,

...,

margins = null,

subset = null,

fill = null,

drop = true,

value.var = guess_value(data)

)

R語言reshape2包對資料格式進行整理

在臨床研究中經常需要需要從醫院的his系統裡面匯入化驗單資料,然而從his系統裡面匯出的資料都是寬資料,很多都是多人多次反覆的檢查結果,並不好進行直接分析,如下圖 我們需要轉換成下列長資料形式才好進一步分析 我們今天將使用r語言自帶的reshape2包對資料格式進行整理,將寬資料轉換成長資料,或者根...

包r語言 R語言入門之R包的安裝

install.packages metafor 即可順利安裝該r包。install.packages biocmanager library biocmanager install edger 3 接下來便是安裝源自github 的r包了,它的步驟和安裝源自bioconductor的r包類似,需要...

r語言從giuthb安裝失敗 R語言找包及裝包

緣由是在讀一篇 時程式設計需要用到 正態隨機變數 卡方隨機變數的卷積密度 都說統計中一篇 一般都有對應的r包,嘗試著去找,裡沒有提及r包,到原作者主頁也沒有。接著又去r包官網找,找到乙個相關的,記錄下這個過程,實際就是介紹下r包官網。若有由 直接找到 對應包的方法,望告知。1 r包的官網 contr...