Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.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
为ggplot-R排列数据帧格式_R_Dataframe_Ggplot2_Data.table - Fatal编程技术网

为ggplot-R排列数据帧格式

为ggplot-R排列数据帧格式,r,dataframe,ggplot2,data.table,R,Dataframe,Ggplot2,Data.table,我想将我的数据从宽格式改为长格式,这样我就可以使用ggplot创建图形。我在正确整理数据方面遇到了一些问题。到目前为止,我以27个数据帧的列表开始我的过程(仅显示前10个数据帧): 我正在使用data.table包中的rbindlist将所有内容合并到一个dataframe newdf问题在于列表的每个df中的变量名都不同。一旦这个问题解决了,剩下的就和你想象的一样了 dplyr/tidyr示例: df1<-data.frame(mean1=c(2,3),

我想将我的数据从宽格式改为长格式,这样我就可以使用ggplot创建图形。我在正确整理数据方面遇到了一些问题。到目前为止,我以27个数据帧的列表开始我的过程(仅显示前10个数据帧):

我正在使用
data.table包中的
rbindlist
将所有内容合并到一个
dataframe


newdf问题在于列表的每个df中的变量名都不同。一旦这个问题解决了,剩下的就和你想象的一样了

dplyr/tidyr示例:

df1<-data.frame(mean1=c(2,3),
                sd1 = c(1,2))

df2<-data.frame(mean2=c(4,5),
                sd2 = c(3,4))

listdf<-list(df1,df2)
str(listdf)
重命名所有数据帧并将它们逐行绑定在一起

library(tidyverse)


listdf%>%map(function(x){x%>%rename_(mean = names(x)[1],
                                     sd = names(x)[2])})%>%
  bind_rows()
给予


我想你是在问如何对矩阵进行列绑定。据我所知,
data.table
没有
cbindlist
函数,因此您可以尝试:
do.call(“cbind”,NDVI_stat)
,但这并不完全相同,如果每个数据帧中的行数不相等,就会失败。

嗨,谢谢您的回复。是否不在
dplyr
包中的
bind_行
中?是的,但dplyr是tidyverse的一部分,因此您可以完全加载tidyverse,以便从dplyr访问bind_行并从tidyr映射感谢您的详细回答
List of 2

 $ :'data.frame':   2 obs. of  2 variables:

  ..$ mean1: num [1:2] 2 3

  ..$ sd1  : num [1:2] 1 2

 $ :'data.frame':   2 obs. of  2 variables:

  ..$ mean2: num [1:2] 4 5

  ..$ sd2  : num [1:2] 3 4
library(tidyverse)


listdf%>%map(function(x){x%>%rename_(mean = names(x)[1],
                                     sd = names(x)[2])})%>%
  bind_rows()
  mean sd

    2  1

    3  2

    4  3

    5  4