我正在研究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个不同的输出。
谢谢大家的合作。
答案 0 :(得分:0)
要删除列,只需重写没有列的变量:
data = data[,colnames(data) != "V4"]
或
colnames(data) = c("colname1","colname2","colname3","colname4")
取决于您的情况。
重命名使用:
{{1}}
在同一个地块上绘制多个事物。对于第一个系列使用plot(),对于以下系列使用lines()或points()函数。