[英]Need to convert columns to rows in R
我的數據看起來像
a b c
1 5 4
3 6 1
2 5 3
我想轉換它將所有列轉換為行,並希望輸出像
r1 r2 r3 r4
a 1 3 2
b 5 6 5
c 4 1 3
提前致謝
我們可以轉置數據集並轉換為data.frame
,第一列作為行名稱。
m1 <- t(df1)
d2 <- data.frame(r1= row.names(m1), m1, row.names=NULL)
編輯:包括row.names
參數在data.frame
調用(從@Richard斯克里文的評論)
或者正如@Ananda Mahto所提到的,我們可以使用names(df1)
來創建'r1'列,從而跳過在全局環境中創建對象的過程。
d2 <- data.frame(r1=names(df1), t(df1))
或者另一種選擇是melt/dcast
。 我們將data.frame
轉換為matrix
, melt
為'long'格式,然后dcast
其轉換為'wide'格式。
library(reshape2)
dcast(melt(as.matrix(df1)), Var2~paste0('r', Var1), value.var='value')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.