【发布时间】:2018-09-11 11:29:07
【问题描述】:
我在尝试制作基本线图时遇到了一个我不明白的错误。我确信有一个简单的解决方法。这是我的 df(Chrom 有 24 个值,一些数字和一些字母)。
> df
# A tibble: 375 x 4
Sample BasesCovered FractionOfTotal Chrom
<chr> <int> <dbl> <chr>
1 AE 169850837 0.682 1
2 BE 112368817 0.451 1
3 HE 116402736 0.468 1
4 C 142399396 0.572 1
5 AE:BE 93870879 0.377 1
6 AE:HE 98319854 0.395 1
7 AE:C 108852071 0.437 1
8 BE:HE 69040576 0.277 1
9 BE:C 72772760 0.292 1
10 HE:C 74645628 0.300 1
# ... with 365 more rows
这是我根据 line graph example 制作情节的代码
地块
ggplot(df, aes(y="FractionOfTotal", X="Chrom", group=1)) +
geom_line(aes(colour="Sample"))
ggplot(df, aes(y="FractionOfTotal", X="Chrom")) +
geom_line(aes(group=1))
ggplot(df, aes(y="FractionOfTotal", X="Chrom", colour="Sample")) +
geom_line()
这些尝试中的每一个都会引发此错误:
Error in order(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, :
argument 3 is not a vector
我不确定参数 3 是什么?所以我尝试了这个并没有帮助:
> is.vector(df$Sample)
[1] TRUE
> is.vector(df$Chrom)
[1] TRUE
> is.vector(df$FractionOfTotal)
[1] TRUE
我尝试搜索错误并找到this,但在这种情况下,df 似乎存在问题,我看不到在我的情况下是真的。
我确定这很简单?
【问题讨论】:
-
删除列名中的引号(例如:
aes(y=FractionOfTotal, x = Chrom))。 -
嗨 PoGibas,我刚刚对所有 3 个绘图示例都进行了尝试,但仍然抛出相同的错误。
-
请使用
dput函数添加您的数据示例。 -
在
aes内应该是小写的x(而不是你的代码中的大写X)。 -
啊,这似乎已经修复了 Maurits Evers!该死的错字!非常感谢!