Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将两列合并为一列,在R中逐个元素_R_Dataframe - Fatal编程技术网

将两列合并为一列,在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")))