带有日志比例

时间:2016-11-10 16:59:59

标签: r plot scatter-plot

我将数据保存在一个包含几千行的文本文件中。每行只有一个值。喜欢这个

52312
2
3
4
5
7
9
4
5
3

第一个值总是大约是所有其他值的10.000倍。

我可以使用data<-read.table("data.txt")

读取数据

当我只使用plot(data)时,所有数据都具有相同的y值,从而产生一条线,其中x值仅表示从数据中给出的值。

然而,我想要的是x值代表亚麻,y值代表实际数据。因此,对于上面的示例,我的值为(1,52312)(2,2)(3,3)(4,4)(5,5)(6,7)(7,9)(8,4)(9,5)(10,3)

此外,由于第一个值高于所有其他值,我希望使用y轴的对数刻度。

抱歉,R非常新。

2 个答案:

答案 0 :(得分:0)

set.seed(1000)    
df = data.frame(a=c(9999999,sample(2:78,77,replace = F)))
plot(x=1:nrow(df), y=log(df$a))

i)set.seed(1000)帮助您在每次运行此代码时从sample()重现相同的随机数。它使代码可以重现。

ii)在R控制台中键入?样本以获取文档。 iii)因为你想要x轴是亚麻布 - 我使用&#34;创建它:&#34;运营商。 1:3 = 1,2,3。我同样创造了一个&#34; id&#34; index使用1:nrow(df),它将根据数据的维度创建。

iv)对于日志,只需使用它简单:)。阅读更多关于?情节及其参数的信息

答案 1 :(得分:0)

试试这个:

df
    x     y
1   1 52312
2   2     2
3   3     3
4   4     4
5   5     5
6   6     7
7   7     9
8   8     4
9   9     5
10 10     3

library(ggplot2)
ggplot(df, aes(x, y)) + geom_point(size=2) + scale_y_log10()

enter image description here