Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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 按组对ggplot x变量重新排序_R_Ggplot2 - Fatal编程技术网

R 按组对ggplot x变量重新排序

R 按组对ggplot x变量重新排序,r,ggplot2,R,Ggplot2,我有一些数据是根据我之前提出的一个问题得出的。我可以使用以下方法进行绘图: df2 %>% arrange(outcome) %>% tibble() %>% mutate(id = row_number()) %>% pivot_longer(cols = c(V1:V5)) %>% ggplot(aes(x = id, y = value)) + geom_point(aes(y = 4, color = as.factor(o

我有一些数据是根据我之前提出的一个问题得出的。我可以使用以下方法进行绘图:

df2 %>% 
  arrange(outcome) %>% 
  tibble() %>% 
  mutate(id = row_number()) %>% 
  pivot_longer(cols = c(V1:V5)) %>%
  ggplot(aes(x = id, y = value)) + 
  geom_point(aes(y = 4, color = as.factor(outcome)), size = 0.5) +
  scale_color_manual(values = c("red","black"), labels = c("Dead","Alive")) + 
  geom_col(aes(fill = name),width = 1, alpha = 0.9) + labs(x = "ID", color = "Outcome") +
  theme(axis.text.x=element_blank(),
        axis.ticks.x=element_blank())
这就是我想要的。图的开头是红点,结尾是黑点。但是,我想按照类似于以下内容的方式安排这两个小组:

df2 %>% 
  arrange(outcome) %>% 
  tibble() %>% 
  mutate(id = row_number()) %>% 
  pivot_longer(cols = c(V1:V5)) %>%
  ggplot(aes(x = reorder(factor(id, unique(id)), value, sum), y = value)) + 
  geom_point(aes(y = 4, color = as.factor(outcome)), size = 0.5) +
  scale_color_manual(values = c("red","black"), labels = c("Dead","Alive")) + 
  geom_col(aes(fill = name),width = 1, alpha = 0.9) + labs(x = "ID", color = "Outcome") +
  theme(axis.text.x=element_blank(),
        axis.ticks.x=element_blank())
现在,整个绘图由
reorder(factor(id,unique(id)),value,sum)
给出的
value
列的总和排列

我的问题是,我如何使用第一个绘图,让红点在开始,黑点在结束,并通过<代码>值列的总和“子”排列每组数据

数据:


df这可以通过首先按所需顺序排列数据集来实现,即
结果
值之和
,然后使用
forcats::fct_顺序
id
进行相应排序:

库(ggplot2)
图书馆(dplyr)
图书馆(tidyr)
图书馆(供猫用)
df%>%
安排(结果)%>%
tibble()%>%
变异(id=行号())%>%
枢轴长度(cols=c(V1:V5))%>%
添加计数(id,wt=value,name=“sum\u value”)%>%
安排(结果、和值)%>%
突变(id1=fct_顺序(因子(id))%>%
ggplot(aes(x=id1,y=value))+
几何点(aes(y=4,颜色=as.因子(结果)),大小=0.5)+
比例颜色手册(值=c(“红色”、“黑色”)、标签=c(“死亡”、“活着”))+
几何图形颜色(aes(填充=名称),宽度=1,α=0.9)+实验室(x=“ID”,color=“结果”)+
主题(axis.text.x=element_blank(),
axis.ticks.x=元素_blank()


由(v0.3.0)

尝试重新创建您的示例于2020年5月24日创建,我得到“列
V1
不存在”。在它发生变化且列名更改为$X1后立即出错
    df <- structure(list(V1 = c(0.540974020957947, 0.927956461906433, 0.679950773715973, 
-0.436222612857819, 0.457550287246704, -0.630265891551971, 0.630780100822449, 
0.418105125427246, -0.29603236913681, -0.558571577072144, 0.685096621513367, 
-0.105572499334812, 0.685096621513367, 0.630698442459106, -0.296185970306396, 
0.867228746414185, 0.839851379394531, -0.407550632953644, -1.23068189620972, 
-0.232768982648849, -0.45151561498642, -0.618267416954041, -0.44173675775528, 
0.679950773715973, -0.76373964548111, -0.682370126247406, -0.0970236286520958, 
0.308583676815033, -0.398456454277039, -0.781804263591766, -0.357583403587341, 
0.829942345619202, 1.15367841720581, -0.349084734916687, 0.339786231517792, 
-0.274633675813675, 0.434021949768066, -0.379803895950317, 1.12600564956665, 
0.538651287555695, 0.729334473609924, 1.11921846866608, 0.535243451595306, 
0.530025899410248, 0.538651287555695, 0.580114483833313, -0.344888269901276, 
-0.758356392383575, 0.433039009571075, 0.452548682689667), V2 = c(-0.946385502815247, 
0.346783518791199, 0.335686177015305, -0.59157657623291, -0.123747371137142, 
-0.652664184570312, 0.586644172668457, 0.730981111526489, -0.863614797592163, 
0.127854824066162, 0.572437882423401, 0.90553081035614, 0.572437882423401, 
0.604371428489685, 0.152438431978226, 0.352877289056778, 0.4686459004879, 
-0.291370570659637, 0.210557401180267, 0.8441561460495, -0.844375014305115, 
-0.559487581253052, -0.566528797149658, 0.335686177015305, -0.120377041399479, 
-0.681918144226074, 0.915897369384766, -0.147260695695877, 0.556753039360046, 
-0.344621360301971, 0.584530115127563, 0.432545781135559, 0.372453421354294, 
-0.837476432323456, -1.04467070102692, 0.48720371723175, 0.557223737239838, 
-0.867825925350189, -0.997654914855957, 0.398110568523407, 0.302819103002548, 
-0.865058422088623, 0.798324704170227, -0.991984903812408, 0.398110568523407, 
-0.974891722202301, -0.610303223133087, 0.467437922954559, 0.398110568523407, 
0.755794286727905), V3 = c(-0.447049021720886, 0.462770104408264, 
0.524555385112762, -0.678337693214417, -0.258618295192719, -0.606096684932709, 
0.465691596269608, 0.500304698944092, -1.11152529716492, 0.401461124420166, 
0.401484251022339, 0.60296368598938, 0.401484251022339, 0.525019645690918, 
0.344976842403412, 0.462770104408264, 0.507511615753174, -0.3294717669487, 
0.368079423904419, 0.489510506391525, -1.06783151626587, -0.62083101272583, 
-0.438432902097702, 0.524555385112762, -0.400415688753128, -0.701131463050842, 
0.560686111450195, -0.31059992313385, 0.55268931388855, -0.434289932250977, 
-0.502131402492523, 0.451888293027878, -0.393282651901245, -1.17837882041931, 
-1.02576661109924, 0.354237675666809, -0.210425049066544, -1.05897736549377, 
-0.481473177671432, 0.453531265258789, 0.347654938697815, -0.348089516162872, 
0.526304006576538, -1.04387092590332, 0.453531265258789, -0.872735559940338, 
-0.837841033935547, 0.31141585111618, 0.537650644779205, 0.414667755365372
), V4 = c(0.246048405766487, 0.52887761592865, 0.52887761592865, 
-0.363897234201431, -0.452131509780884, -0.274207383394241, 0.311050325632095, 
0.261809468269348, 0.175037130713463, -0.609464287757874, -0.802706837654114, 
0.562854111194611, -0.802706837654114, 0.270524382591248, -0.95845901966095, 
0.583511531352997, 0.522512197494507, -0.345179617404938, 0.344634592533112, 
-0.736851334571838, 0.23341578245163, -0.289211988449097, -0.410425961017609, 
0.52887761592865, -0.343501180410385, -0.199645578861237, 0.310131520032883, 
-0.496455907821655, 0.523803949356079, -0.403718531131744, -0.0587362833321095, 
0.567582190036774, 0.218788951635361, 0.154369011521339, 0.194721877574921, 
-0.926964700222015, 0.287931680679321, 0.121043145656586, 0.1999192237854, 
0.335065960884094, -0.89701521396637, -0.362093269824982, 0.445541679859161, 
0.176597759127617, 0.335065960884094, 0.14811635017395, -0.360089123249054, 
-0.619796454906464, 0.365053594112396, -0.823703289031982), V5 = c(-0.218326300382614, 
-0.0852589569985867, -0.0358568467199802, -0.182288771495223, 
0.329492785502225, 0.22641474287957, -0.295229163952172, -0.0018882118165493, 
-0.156187456101179, -0.185811480507255, 0.5745202396065, 0.185778394341469, 
0.5745202396065, 0.263958130963147, -0.0930145438760519, -0.0852589569985867, 
0.120846922509372, -0.177850923500955, -0.0906162718310952, 0.68638701736927, 
-0.122016451321542, -0.164524817839265, -0.335341416299343, -0.0358568467199802, 
-0.0561889922246337, 0.0127423945814371, 0.443645818158984, -0.145148247014731, 
0.23308814689517, 0.215704505331814, -0.484601685777307, -0.0646083690226078, 
0.221014636568725, -0.0417518625035882, -0.239753630012274, -0.288708009757102, 
0.442076873965561, 0.319284414872527, 0.067968207411468, -0.0639804862439632, 
0.106456406414509, 0.529075344558805, 0.108210883568972, -0.161871433258057, 
-0.0639804862439632, -0.130908504128456, -0.0992011674679816, 
-0.0441093863919377, -0.0724753104150295, 0.36998612806201), 
    grp = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L), id = c(166L, 61L, 54L, 240L, 
    179L, 272L, 76L, 87L, 224L, 164L, 13L, 125L, 14L, 41L, 147L, 
    64L, 33L, 260L, 95L, 10L, 219L, 234L, 243L, 53L, 261L, 279L, 
    123L, 177L, 127L, 269L, 142L, 63L, 18L, 214L, 168L, 141L, 
    20L, 263L, 191L, 75L, 3L, 182L, 31L, 171L, 74L, 170L, 249L, 
    154L, 67L, 4L), outcome = c(1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 
    1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 
    0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 
    1, 0)), class = "data.frame", row.names = c(NA, -50L))