plot命令无法识别列名

时间:2012-09-05 23:54:45

标签: r

最近,当我尝试在R中绘图时,我一直收到此错误。谁能告诉我为什么我似乎无法做散点图?我已粘贴下面的终端屏幕了。

tcmg2o4 <-read.table("~/Documents/research/metal.oxides/TcMg2O4.inverse/energydata.txt")

tcmg2o4
                 V1            V2
1  Lattice_constant  Total_energy
2               8.0 -371.63306746
3               8.1   -375.035492
4               8.2  -378.8669067
5               8.3 -380.34136459
6               8.4  -382.3921237
7               8.5 -383.60394736
8               8.6 -384.09517631
9               8.7 -383.77668067
10              8.8 -382.43806866
11              8.9 -381.42213458
12              9.0 -379.63327976

attach(tcmg2o4)
plot(Lattice_constant, Total_energy)

Error in plot(Lattice_constant, Total_energy) : 
object 'Lattice_constant' not found

plot(V1,V2)

1 个答案:

答案 0 :(得分:6)

您的问题是您没有将列名称作为列名称读取。这样用 header = T

 tcmg2o4 <-read.table("~/Documents/research/metal.oxides/TcMg2O4.inverse/energydata.txt", header = T)

在您的情况下,read.table调用已创建列名V1V2,这些列都是因子变量。

您可以通过

检查读入对象的结构
str(tcmg2o4)
## 'data.frame':    11 obs. of  2 variables:
##  $ Lattice_constant: num  8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 ...
##  $ Total_energy    : num  -372 -375 -379 -380 -382 ...

我也会避免使用attach

改为使用with

with(tcmg2o4, plot(Lattice_constant, Total_energy))

或它是2列data.frame

的事实
plot(tcmg2o4)

或使用formula指定x和y轴(y~x

plot(Total_energy ~ Lattice_constant, data = tcmg2o4)

这将产生相同的结果,并且更清楚地显示数据的存储位置

enter image description here