在用data.frame()的时候碰到一个奇怪的问题,看看有没有人能帮我解释一下。
用iris数据为例。我只选一个变量,比如说Sepal.Length, 构造一个新的data frame(就叫X好了)。但我希望X中colnames和iris一样。但以下几个方法都不成功。
a)
X=data.frame(iris[,1])<br />
colnames(X)<br />
, 得到的不是我希望的Sepal.Length</p>
b)
X=data.frame(iris$Sepal.Length)<br />
colnames(X)<br />
, 得到也不是Sepal.Length</p>
c)
X=data.frame(iris[['Sepal.Length']])<br />
colnames(X)<br />
,也不对。</p>
但我发现如果我选择多个变量时就没有问题了。比如说
X=data.frame(iris[,c(1,2)])<br />
colnames(X)<br />
或者
X=data.frame(iris[,-5])<br />
colnames(X)<br />
</p>
我的问题是1)为什么选一个和多个变量时结果不一样?2)如果只选一个变量,有什么更方便的办法保持变量名一致(麻烦一点的话可以手动修改)?谢谢!
附:为什么我要选一个变量构造新的dataframe的原因很长,就没写在帖子里了。不过我觉得这应该不会影响大家对我的问题的理解。