R 如何使用y轴上的x和y列在x轴上打印行名?
我有3列,R 如何使用y轴上的x和y列在x轴上打印行名?,r,plot,R,Plot,我有3列,Row.names,x,和y 如何在x轴上绘制行名称,在y轴上绘制x和y,以比较x和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
Row.names
,x
,和y
如何在x轴上绘制行名称
,在y轴上绘制x
和y
,以比较x
和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
让我们使用
ggplot2
:
R/ggplot2需要具有“长”格式的数据(即每行一个观察值)才能创建多种类型的图形
我们使用melt
进行转换,使用Row.names
作为id.vars
:melt(data,id.vars=“Row.names”)
。然后我们将行名称指定给x轴,将由melt
生成的列(称为value
)指定给y值。最后,我们使用geom_bar
为x和y值着色,并使用position=“dodge”
将它们分割为单独的条
require(ggplot2)
要求(2)
df1通过为x
和y
绘制一条线,您打算显示什么?画一条线意味着一种趋势,据我所知,这是对不同变量的离散观察,这意味着用线图显示数据是错误的。@Mako212可能是一个比较每行x和y值的直方图。name?我只想比较每一行的x和y的值。name可能是因为我只能使用R的3.1.1,但是运行这个会出错。我可以加载包,但在运行ggplot代码时,我得到一个错误:“不知道如何自动为函数类型的对象选择比例。默认为连续。eval(expr、envir、enclose)中出错:找不到对象‘variable’”“不知道如何为函数类型的对象自动选择比例。默认为连续。eval(expr、envir、enclose)中的错误:未找到对象“variable”@JoeJohnsondf1
(融化的数据)的列名是什么?如何找到?当我查看(df1)时,我得到一个错误“查看中的错误:无法将类型“closure”强制为“character”类型的向量”不要介意这个错误,df1的列名是:Row.names、variable和value
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))