小编Sim*_*asy的帖子

自定义x轴刻度

就记录而言,我有一个非常大的数据框(2列).我在ggplot2中绘制了图表.X轴是时间,Y轴是值.随着时间从50到60的特定区间,我想使蜱增量较小,如(50,51,51,53,59,60 ......).对于轴的其余部分,将刻度值增加10是很好的.因此,我希望X轴值如下:

10,20,30,40,50,51,52,53,54,55,56,57,58,58,60,70,80,90,..190,200.
Run Code Online (Sandbox Code Playgroud)

我知道,我可以通过scale_x_continuous使用breaks和修改刻度minor_breaks.但是,我没有得到预期的输出.这是我的尝试:(注意:仅创建数据,例如我的数据非常大).

data:
-----
x<-seq(1:200)
y<-seq(51,250,by=1)
df<-data.frame(x=x,y=y)

code:(Update based on @Didzis Elferts suggestion) 
-----
ggplot(data=df, aes(x,y))+geom_line(size=1.6)+ 
   scale_x_continuous( breaks=c(10,20,30,40,seq(50,60,by=2),seq(70,200,10))
                       ,minor_breaks=seq(50,60,by=2) )+
   +theme(axis.text.x=element_text(size=16),axis.text.y=element_text(size=16))+
   +theme(axis.title.x=element_text(size=16),axis.title.y=element_text(size=16))+ 
   +theme(axis.ticks.x = element_line(size = 1))+xlab("Time")+ylab("value")
   +theme(axis.ticks.length=unit(0.8,"cm"))
Run Code Online (Sandbox Code Playgroud)

基于下面的建议,现在唯一的问题是在50-60之间的间隔期间X轴的值没有明显出现. O/P样本 任何建议,以明确!!

r ggplot2

17
推荐指数
1
解决办法
5万
查看次数

自定义轴间隔

我有连续的x和y值的数据.在特定的x间隔内,我想使得刻度增量更小,例如从50到60,中断之间的距离应该是1(50,51,52,53 ...... 59,60).对于轴的其余部分,将刻度值增加10是可以的.我想要的x轴将在以下位置处中断:

10,20,30,40,50,51,52,53,54,55,56,57,58,58,60,70,80,90,..190,200
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

x <- seq(1:200)
y <- seq(51, 250, by = 1)
df <- data.frame(x = x, y = y)

ggplot(data = df, aes(x, y)) +
  geom_line(size=1.6)+ 
  scale_x_continuous(breaks = c(10, 20, 30, 40, seq(50, 60, by = 2), seq(70, 200, 10)),
                     minor_breaks = seq(50, 60, by = 2)) +
theme(axis.text.x = element_text(size = 16),
      axis.text.y = element_text(size = 16),
      axis.title.x = element_text(size = 16),
      axis.title.y = element_text(size = 16),
      axis.ticks.x = element_line(size = 1),
      axis.ticks.length = unit(0.8, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

9
推荐指数
1
解决办法
1万
查看次数

ggplot2:如何展示传奇

我制作了一个简单的经典情节,ggplot2其中有两个图形合二为一.但是,我正在努力展示传奇.它没有显示传奇.我没有使用融化和重塑方式,我只是使用经典的方式.以下是我的代码.

df <- read.csv("testDataFrame.csv")

graph <- ggplot(df, aes(A)) + 
  geom_line(aes(y=res1), colour="1") +
  geom_point(aes(y=res1), size=5, shape=12) +
  geom_line(aes(y=res2), colour="2") +
  geom_point(aes(y=res2), size=5, shape=20) +
  scale_colour_manual(values=c("red", "green")) +
  scale_x_discrete(name="X axis") +
  scale_y_continuous(name="Y-axis") +
  ggtitle("Test") 
  #scale_shape_discrete(name  ="results",labels=c("Res1", "Res2"),solid=TRUE) 

print(graph)
Run Code Online (Sandbox Code Playgroud)

数据框是:

 A,res1,res2
 1,11,25
 2,29,40
 3,40,42
 4,50,51
 5,66,61
 6,75,69
 7,85,75
Run Code Online (Sandbox Code Playgroud)

有关如何显示上图的图例的任何建议?

r ggplot2

8
推荐指数
1
解决办法
2万
查看次数

在没有标题的R中逐行读取大文件

我在R中有一个非常大的数据文件(在Giga中),如果我尝试用R打开它,我将得到一个内存不足错误.

我需要逐行读取文件并进行一些分析.我在这个问题上找到了一个先前的问题,其中文件被n行读取并跳转到具有clump的某些行.我使用了"Nick Sabbe"的答案并添加了一些修改以满足我的需要.

考虑一下我有以下test.csv文件 - 文件样本:

A    B    C
200 19  0.1
400 18  0.1
300 29  0.1
800 88  0.1
600 80  0.1
150 50  0.1
190 33  0.1
270 42  0.1
900 73  0.1
730 95  0.1
Run Code Online (Sandbox Code Playgroud)

我想逐行阅读文件的内容并执行我的分析.所以我根据"Nick Sabbe"发布的代码创建了以下循环.我有两个问题:1)每次打印新行时都会打印标题.2)虽然我正在删除此列,但也会打印R的索引"X"列.

这是我正在使用的代码:

test<-function(){
 prev<-0

for(i in 1:100){
  j<-i-prev
  test1<-read.clump("file.csv",j,i)
  print(test1)
  prev<-i

}
}
####################
# Code by Nick Sabbe
###################
read.clump <- function(file, lines, clump, readFunc=read.csv,
                   skip=(lines*(clump-1))+ifelse((header) & (clump>1) & (!inherits(file, "connection")),1,0),
                   nrows=lines,header=TRUE,...){
if(clump > 1){
colnms<-NULL
if(header)
{
  colnms<-unlist(readFunc(file, …
Run Code Online (Sandbox Code Playgroud)

csv r

5
推荐指数
1
解决办法
4652
查看次数

R中列表中项目的频率

我有一个非常大的csv文件.我想计算第二列中项目的频率,以便绘制直方图.我的数据的一个例子:

0010,10.1.1.16
0011,10.2.2.10
0012,192.168.2.61
0013,192.168.173.19
0014,10.2.2.10
0015,10.2.2.10
0016,192.168.2.61
Run Code Online (Sandbox Code Playgroud)

我用过以下内容:

  inFile <- read.csv("file.csv")
  summary(inFile)
  hist(inFile$secondCol)
Run Code Online (Sandbox Code Playgroud)

摘要输出:

  X0010                X10.1.1.16
  Min.   :11.00   10.2.2.10     :3   
  1st Qu.:12.25   192.168.173.19:1   
  Median :13.50   192.168.2.61  :2   
  Mean   :13.50                      
  3rd Qu.:14.75                      
  Max.   :16.00
Run Code Online (Sandbox Code Playgroud)

因为文件非常大,我没有得到正确的直方图.有什么建议?

r histogram

2
推荐指数
1
解决办法
6585
查看次数

R:计算积分变化?

有没有人知道一个用一个清晰​​的例子计算 CUSUM 的包?我找到了绘制 CUSUM 的“qcc”。但是,我想要提交的数据范围而不是图形的 CUSUM 值。另一个新的好包“changepoint”,它正在计算关于不同分布的 CUSUM。我需要一个简单的包或函数,它根据 CUSUM 的基本定义计算 CUSUM- 没有任何参数:

As its name implies, CUSUM involves the calculation of a cumulative sum 
which is what makes it "sequential"). 
Samples from a process are assigned weights, 
and summed as follows:
For samples i = 0 ->infinity
   C0 = 0 :
   Ci+1 = max(0;Ci + Xi - mean(Xi) )
Run Code Online (Sandbox Code Playgroud)

维基中定义

任何计算基本 CUSUM 的包或函数?

statistics r

2
推荐指数
1
解决办法
1985
查看次数

标签 统计

r ×6

ggplot2 ×3

csv ×1

histogram ×1

statistics ×1