R中读取数据的问题
问题描述:
我通常手工输入数据到R中,但是我有n = 27个元素的数据集。我data = read.table("HW6.txt", header = TRUE)
读取数据的工作环境表示有数据,X=23,19,...
和Y=27.1,22.1,...
R中读取数据的问题
我可以让我的最小二乘就好:
results=lm(Y~X, data) and
lm(formula = Y ~ X, data = data)
# Coefficients: (Intercept) X
# 1.800 1.004
但不管是什么原因,我做出X或Y做电话进一步的操作,即
sum(X)
# Error: object 'X' not found,
或
mean(X)
# Error in mean(X) : object 'X' not found
那么,有什么我必须做的才能让它正常工作?
答
当你输入数据“手动”为R访问,当你打开R.
你创建的.GlobalEnv
变量,即你遇到工作区
当您使用read.table
等将数据加载到R中时,您正在创建存储这些变量的data.frame。正如@Amrita的答案显示的那样,您可以使用[
或$
提取来提取该数据帧中的变量。
因此,对于你的选择(即,将创造行为最相似的以前的工作流程选项)如下:
d <- read.table("HW6.txt")
X <- d$X
Y <- d$Y
rm(d)
然后,你可以参考变量X
和Y
无需去做我之前描述的任何事情。
但是!这可能是更好的纠正你的工作流程,并开始使用从数据框提取$
,而不是回顾以前的工作方便。
(注1:在互动环节,您还可以使用with(data, ...)
执行使用从data.frame对象表达式,而不使用$
或[
提取它一般不提倡在脚本/包来使用这个在/ etc。) (注意2:要重新创建您习惯的行为,您可以使用attach(data)
,它会将data.frame添加到R的搜索路径中,但不鼓励这样做,因为它可能会产生意想不到的后果,其中,如果您在.GlobalEnv中修改了X
,则它不会在原始data.frame中对其进行修改,因此如果您尝试调用任一对象,则会在稍后创建混淆。)
答
各个元素可以如下
data = read.table("HW6.txt", header = TRUE)
data$X
sum(data$X)
尝试用'(data,mean(X))'。 – 2015-04-03 03:13:15
谢谢,这似乎有帮助。 – Jabernet 2015-04-03 03:19:55
当执行'read.table'时,'X'和'Y'不应该被定义。 “工作环境显示数据”是什么意思? get(“X”,envir = .GlobalEnv)'return something? – RockScience 2015-04-03 03:36:34