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