将两列合并为一列,在R中逐个元素
我有以下数据:将两列合并为一列,在R中逐个元素,r,dataframe,R,Dataframe,我有以下数据: df <- data.frame(estimate = c(1,2), sd = c("(0.5)*","(0.5)***")) rownames(df) <- c("race","gender") 由于data.frame不能有重复的行名,因此最好将其存储在矩阵中。得到数据集的转置( t>代码>),用单列创建矩阵,并通过 rBIN/分配行名,用空白(“< /代码>”)对原始数据集的现有行名进行赋值。 m1这里有一个基本的R方法,使用lappy,t,do.call和
df <- data.frame(estimate = c(1,2), sd = c("(0.5)*","(0.5)***"))
rownames(df) <- c("race","gender")
由于
data.frame
不能有重复的行名,因此最好将其存储在矩阵中。得到数据集的转置(<代码> t>代码>),用单列创建<代码>矩阵<代码>,并通过<代码> rBIN/<代码>分配行名,用空白(<代码>“< /代码>”)对原始数据集的现有行名进行赋值。
m1这里有一个基本的R方法,使用lappy
,t
,do.call
和:
试试看!谢谢你这么漂亮的解决方案。
Results
race 1
(0.5)*
gender 2
(0.5)***
m1 <- matrix(c(t(df)), dimnames = list(c(rbind(row.names(df), "")), "Results"))
out <- noquote(do.call('rbind',lapply(1:dim(df)[1],function(x) t(df[x,]))))
attr(out,'dimnames') <- list(c(rbind(row.names(df),"")),'Results')
Results
race 1
(0.5)*
gender 2
(0.5)***
noquote(matrix(c(t(df)), dimnames = list(c(rbind(row.names(df), "")), "Results")))