目录:
视频: The Great Gildersleeve: Leroy's Paper Route / Marjorie's Girlfriend Visits / Hiccups 2024
在创建了适当的数据子集之后,分析的下一步可能是用R执行一些计算。
如何对数据帧
R使得在数据帧的列上执行计算变得非常容易,因为每列本身就是一个向量。坚持虹膜数据框,尝试在列上做一些计算。例如,计算萼片的长度和宽度之比:
<! - 1 - > >> x < - iris $ Sepal。长度/虹膜$ Sepal。宽度现在您可以使用所有R工具来检查结果。例如,使用head()函数检查结果的前五个元素: >> head(x)[1] 1. 457143 1. 633333 1. 468750 1. 483871 1. 388889 1. 384615
正如你所看到的,在数据框的列上执行计算是非常简单的。请记住,每一列确实是一个向量,所以你只需要记住如何对向量执行操作。
如何使用和改进代码的可读性
在R中编写子集语句一小会儿之后,你会厌倦了键入美元符号来提取数据框的列。幸运的是,有一种方法可以减少打字量,同时使您的代码更具可读性。诀窍是使用with()函数。试试这个:y < - with(iris,Sepal。Length / Sepal。Width)
with()函数允许您引用数据框中的列而不显式使用美元符号甚至名称的数据框本身。所以,在我们的例子中,因为你和(iris,…)一起使用,R知道要同时评估Sepal。长度和萼片。在虹膜的背景下的宽度。
希望你们认同这一点,阅读和理解起来要容易得多。通过打印新变量y的值,可以确认它与前面示例中的x相同。
head(y)[1] 1. 457143 1. 633333 1. 468750 1. 483871 1. 388889 1. 384615您也可以使用identical()函数让R告诉您这些值实际上是一样的:
<! (1)TRUE
除了使用(),有用的within()函数允许你很容易的为数据中的列赋值。假设你想把计算的萼片长度与宽度的比率加到原始数据框上。你已经很熟悉这样写了:
iris $ ratio < - iris $ Sepal。长度/虹膜$ Sepal。宽度现在,使用within()将变成以下内容:
虹膜< - 内(虹膜,比率< - 萼片。长度/萼片。宽度)
除了你可以在你的函数中使用赋值运算符(< - )之外,它和()的工作方式非常类似。如果你现在看虹膜的结构,你会注意到这个比例是一个列: >> head(iris $ ratio)[1] 1. 457143 1. 633333 1. 468750 1. 483871 1. 388889 1。 384615