当您在一行中键入 3 之类的内容并要求 R“运行”它时,它不会在任何地方存储——它只是 评估它,这意味着它试图从您输入的任何内容中理解(例如3,或2+1,或sqrt(9),所有这些都将返回相同的值)然后它或多或少地消失了。您可以将第 1 行到第 5 行视为您使用手持科学计算器的行为;一旦你在这样的计算器中输入300 / 100 之类的东西,它只会显示一个3,然后在你执行另一个计算之后,3 或多或少会永久消失。
要对您的数据执行某些操作,您需要执行以下两项操作之一:以某种方式将其存储到您的环境中,或者将您的数据直接“管道”到一个有用的函数中。
在您的问题中,您使用了以下脚本:
1
3
2
7
6
summary()
我认为不可能以您希望的方式修复此策略 - 如果可能,这也不是完全“正确”的方法。通过在单独的行上键入数字,您已经对它们进行了结构化,以便它们将单独评估然后消失。为了对这些数字运行summary() 函数,您需要以某种方式将它们绑定在一个向量中,然后将该向量输入summary()。 “存储它”的方法是
my_vector <- c(1, 3, 7, 2, 6)
summary(my_vector)
重要性实际上并不在于括号;它是函数c(),代表concatenate,并指示R 将这5 个数字视为一个集合对象(即向量)。然后我们将该单个对象传递给my_vector()。
要使用“管道”方法并避免在环境中存储某些东西,您可以这样做(需要 R 4.1.0+):
c(1, 3, 7, 2, 6) |> summary()
再次注意c()的使用是必须的,因为我们需要先将五个数字绑定在一起。如果你有旧版本的 R,你可以从 magrittr 库中获得一个稍微不同的管道运算符,而不是以相同的方式工作。关键是流程的这个“绑定”部分是必不可少的部分,不能跳过。
现在,您的问题的关键是:大概,您的数据真的看起来不像您使用的示例。最有可能的是,它位于某个单独的 .csv 文件或类似文件中;如果没有,希望它很容易变成那种格式。假设这是真的,这意味着 R 实际上能够在格式化数据方面为您完成繁重的工作。
作为一个非常简单的例子,假设我有一个纯文本文件,my_example.txt,其内容是
1
3
7
2
6
在这种情况下,我可以让 R 为我解析这个文件。假设您使用的是 RStudio,最简单的方法是使用 GUI 的 File -> Import Dataset 部分。有多种选项可以处理诸如标题、分隔符等内容,但如果没有看到您的实际数据集,我无法说明您需要在那里做什么。
当我导入该文件时,我注意到它在我的 R 控制台中做了两件事:
my_example <- read.table(...)
View(my_example)
第一行在我的环境中存储了一个对象(在本例中称为“数据框”);第二个很好地展示了它的渲染方式。为了得到我想要的摘要,我只需要提取我想要的数字向量,我从视图中看到它叫做V1,我可以用summary(my_example$V1)来做。
这个例子可能对你的实际数据集没有帮助,因为这里的主题有很多变化,但主题本身很重要:将 R 指向一个文件,因为它要渲染一个对象,然后使用它目的。这是我推荐的方法,而不是在 R 脚本中将数据作为行输入,因为它更快且更不容易出错。
希望这能让您在将数据导入 R 并使用它方面指明正确的方向。