【问题标题】:Error in `[.data.frame`(ozone, , 2) : undefined columns selected`[.data.frame`(ozone, , 2) 中的错误:选择了未定义的列
【发布时间】:2017-12-29 05:55:38
【问题描述】:

我想通过使用 plot() 函数来表示图表上的散点图,并向它传递一个数据,该数据是我的本地文件系统中的一个文件,但是我收到了这个错误,我试图用 colnames 为标题设置名称() 函数但同样的错误

    ozone <- read.table("C:/Users/Abde/Downloads/donnees_rennes_O3.txt",header=T,sep="\t");
head(mydata);
Date......O3......T12......T15......Ne12......N12......S12......E12......W12......Vx......O3v
1    19960422      63.6      13.4      15      7      0      0      3      0      9.35      95.6
2    19960429      89.6      15      15.7      4      3      0      0      0      5.4      100.2
3    19960506      79      7.9      10.1      8      0      0      7      0      19.3      105.6
4  19960514      81.2      13.1      11.7      7      7      0      0      0      12.6      95.2
5     19960521      88      14.1      16      6      0      0      0      6      -20.3      82.8
6 19960528      68.4      16.7      18.1      7      0      3      0      0      -3.69      71.4

plot(O3,T12,data=mydata,xlab="T12",ylab="O3");

>Error in plot(O3, T12, data = ozone, xlab = "T12", ylab = "O3") : 
object 'O3' not found

【问题讨论】:

  • 现在,您的数据集中只有一列。确保在 read.table() 中指定正确的分隔符
  • 我尝试使用 sep="\t" 和 sep=";"两者都有效
  • 坦率地说,你必须以某种方式检查分隔符,因为现在 "\t" 不适合你。
  • 检查您的文件,它不是制表符分隔的。
  • 她是我正在使用的文件的链接想帮助我找到正确的分隔符lsta.upmc.fr/boyer/teaching/donnees_rennes_O3.txt

标签: r


【解决方案1】:

文本文件中的列由空格而不是制表符分隔。但是,它不是一个空格,而是每列之间大约 6 个空格。

在 R 中,sep = " " 检查一个空格。但是,sep ="" 指的是任何长度的空白。而且,您需要传递 x 和 y 的值,而不仅仅是列名。

以下代码有效。

mydata <-
  read.table(
    "C:/PathToYourFile/donnees_rennes_O3.txt",
    sep = "" ,
    header = T ,
    na.strings = "",
    stringsAsFactors = F
  )
head(mydata)
plot(x = mydata$T12,y = mydata$O3, xlab = "T12", ylab = "03")

【讨论】:

  • 我已经用逗号替换了大厅空间,它显示了大厅列,但我仍然得到错误对象'O3' not found
  • 这段代码完美运行:mydata
  • 我的解决方案是直接下载文件,而不用,; 替换任何空格。如果您想做一个额外的步骤来用某些东西替换空格,,tab 是理想的选择。
【解决方案2】:

这段代码完美运行:

mydata <- read.table("C:/Users/Abde/Downloads/newData.txt" , header=TRUE , sep=";")
head(mydata)
x <- mydata[,3]
y <- mydata[,2]
plot(x,y,data=mydata,xlab="T12",ylab="O3")

这是我正在使用的几行数据:

"Date";"O3";"T12";"T15";"Ne12";"N12";"S12";"E12";"W12";"Vx";"O3v"
"19960422";63.6;13.4;15;7;0;0;3;0;9.35;95.6
"19960429";89.6;15;15.7;4;3;0;0;0;5.4;100.2
"19960506";79;7.9;10.1;8;0;0;7;0;19.3;105.6
"19960514";81.2;13.1;11.7;7;7;0;0;0;12.6;95.2
"19960521";88;14.1;16;6;0;0;0;6;-20.3;82.8
"19960528";68.4;16.7;18.1;7;0;3;0;0;-3.69;71.4
"19960605";139;26.8;28.2;1;0;0;3;0;8.27;90
"19960612";78.2;18.4;20.7;7;4;0;0;0;4.93;60
"19960619";113.8;27.2;27.7;6;0;4;0;0;-4.93;125.8
"19960627";41.8;20.6;19.7;8;0;0;0;1;-3.38;62.6
"19960704";65;21;21.1;6;0;0;0;7;-23.68;38
"19960711";73;17.4;22.8;8;0;0;0;2;-6.24;70.8
"19960719";126.2;26.9;29.5;2;0;0;4;0;14.18;119.8
"19960726";127.8;25.5;27.8;3;0;0;5;0;13.79;103.6

【讨论】:

    猜你喜欢
    • 2021-04-13
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 2018-01-01
    • 1970-01-01
    相关资源
    最近更新 更多