2017-07-25 203 views
1

我有3列,Row.names,xy如何绘制x轴上的Row.names,y轴上的x和y列?

如何在与y轴xy,x轴绘制Row.namesx VS y行比较?

Row.names      x   y 
1 bare_nuclei     NA   NA 
2 bland_chromatin   5.979253 2.100437 
3 clump_thickness   7.195021 2.956332 
4 marginal_adhesion  5.547718 1.364629 
5 mitoses     2.589212 1.063319 
6 normal_nucleoli   5.863071 1.290393 
7 single_eipthelial  5.298755 2.120087 
8 uniformity_cell_shape 6.560166 1.443231 
9 uniformity_cell_size 6.572614 1.325328 
+0

你有什么打算通过绘制了'x'和'y'一行说明了什么?绘制一条线意味着一种趋势,就我所知,这些是不同变量的离散观察结果,这意味着用线图显示数据是错误的。 – Mako212

+1

@ Mako212也许直方图比较每个Row.name的x和y值?我只是想比较每个Row.name的x和y的值。 –

回答

2

让我们使用ggplot2

R/GGPLOT2需要有数据在“长”格式(指每行一个观察)创建许多类型的图形。

我们使用melt进行转换,使用Row.names作为id.varsmelt(data,id.vars="Row.names")。然后,我们将行名称分配给x轴,并将由melt生成的列称为value为y值。最后,我们使用geom_bar为您的x和y值着色,并使用position="dodge"将它们分成单独的条。

require(ggplot2) 
require(reshape2) 

df1 <- melt(data,"Row.names") 

g1 <- ggplot(df1, aes(x = Row.names, y=value)) + 
    geom_bar(aes(fill=variable),stat="identity", position ="dodge") + 
    theme_bw()+ 
    theme(axis.text.x = element_text(angle=-40, hjust=.1)) 

enter image description here

+0

也许因为我只能使用R的3.1.1,但我得到的错误正在运行。我可以加载软件包,但运行ggplot代码时,出现错误:“不知道如何自动为类型函数的对象选择比例,默认为连续。” eval中的错误(expr,envir,enclos):object '变量'未找到“ –

+0

”不知道如何自动选择类型函数对象的缩放比例,默认为连续的 eval(expr,envir,enclos)中的错误:找不到对象“变量” –

+0

@JoeJohnson what是'df1'的列名(熔化的数据)? – Mako212