【发布时间】:2015-05-01 06:32:37
【问题描述】:
我需要在我正在运行的某个文件中同时进行多次转换。 我不明白为什么转换两次会导致不同的输出。
给定
x = c(140,190,190,185,195,195,195,130,150,125,50,30,15,45,55)
y = c(150,195,190,190,190,200,195,140,30,20,125,25,45,65,70)
这个,
locs <- data.frame(x=x,y=y)
...按预期工作,有两列名为 x 和 y。但是,如果我执行以下操作
locs <- as.data.frame(x=x,y=y)
它只给出一列命名 x,但具有y的值。为什么是这样?这对于我正在运行的较大文件很重要——我可能不得不改变我的整个方法。
【问题讨论】:
-
阅读
?as.data.frame和?data.frame怎么样?它们是两种不同的功能,做两种不同的事情。它们不能互换使用。在您的第二行中,我得到一列带有x值的列,完全符合预期(再次阅读文档!)。 -
你没有说你使用的是哪个版本的 R。使用 R-3.2.0 并使用
as.data.frame(x=x,y=y),我得到列“x”,其值来自向量“x”。无论如何,您不尊重as.data.frame的语法,即第一个参数是要强制转换为 data.frame 的 R 对象,第二个参数是行名。就我而言,y=y似乎只是被忽略了。
标签: r dataframe type-conversion