如何在单个图中绘制不同的文件?

时间:2015-11-04 18:12:39

标签: r file plot statistics read.table

我正在研究R 3.1.1 GUI 1.65 Mavericks build(6784),我想说我有3个文本文件(file1,file2,file3),它们具有以下格式:

-6.302229035036262 -20.0 -1.020941553137966 
-4.04318422254186 -3.583695163352756 -3.6530481033374245 
-2.077324334243253 -20.0 -20.0 
-6.302229035036262 -20.0 -1.020941553137966 
-6.4977283774856875 -10.964877298563136 -1.1022927689594357 
-6.291583374531307 -16.450926383021542 -1.176625625964833 
-6.223879288477839 -12.115100317368787 -1.5212364609954971 

分隔符是一个空格,既没有列名也没有行名,最重要的是最后一个字符是另一个空格分隔符("")。不幸的是,该行的最后一个分隔符是不可删除的,因为这些文件以前是由外部软件生成的。

以下是我的步骤: 1)我设置了文件所在的工作目录

setwd(“working directory”)

2)我从一个文件创建一个矩阵(注意我使用read.csv,即使它没有扩展名,即使它可以从任何类型的编辑器中读取) 我最后把它保存在一个变量

data <- as.matrix(read.csv(“file1″, header=FALSE, sep=” “));

创建一个新的[Nx4]矩阵,其中R解释为:

            V1         V2         V3 V4
[1,] -6.302229 -20.000000  -1.020942 NA
[2,] -4.043184  -3.583695  -3.653048 NA
[3,] -2.077324 -20.000000 -20.000000 NA
[4,] -6.302229 -20.000000  -1.020942 NA
[5,] -6.497728 -10.964877  -1.102293 NA
[6,] -6.291583 -16.450926  -1.176626 NA
[7,] -6.223879 -12.115100  -1.521236 NA

现在的问题是我想要一个Nx3矩阵而不是Nx4,这个问题是由最后一个空白分隔符引起的。如何判断R是否应该删除最后一个字符/分隔符?我希望得到这样的结果:

            V1         V2         V3
[1,] -6.302229 -20.000000  -1.020942
[2,] -4.043184  -3.583695  -3.653048
[3,] -2.077324 -20.000000 -20.000000
[4,] -6.302229 -20.000000  -1.020942
[5,] -6.497728 -10.964877  -1.102293
[6,] -6.291583 -16.450926  -1.176626
[7,] -6.223879 -12.115100  -1.521236

那时,我不知道如何绘制它以便更改列名,例如:f1,f2和f3。

完成绘图后,我想在同一个绘图中绘制其他2个文件,因此最终绘图可能包含3个不同的输出。

谢谢大家的合作。

1 个答案:

答案 0 :(得分:0)

要删除列,只需重写没有列的变量:

data = data[,colnames(data) != "V4"]

colnames(data) = c("colname1","colname2","colname3","colname4")

取决于您的情况。

重命名使用:

{{1}}

在同一个地块上绘制多个事物。对于第一个系列使用plot(),对于以下系列使用lines()或points()函数。