对R中Subset()函数的完整引用
R语言是分析数据的至高无上的工具,包括数据处理,操纵和分析。
它提供了许多功能,R中的subset()函数就是其中之一。
一般而言,子集是指从基本数据派生或者提取的一组数据。
例如,考虑单词" R-Programming",其中单词" program"是基本单词的子集。
同时," R-lang"不是" R-Programming"的子集。
即使存在R,但母词或者基词中也不会出现字母" lang"。
我希望以上示例将使您更接近于对数据进行子集的概念。
让我们继续探索R中subset()函数的一些好处。
让我们从语法开始
•subset():subset函数将根据给定的参数/条件提取或者返回输入数据的特定部分。
subset(x,condition,select)
其中:
x =输入数据文件,向量,矩阵和字符串。
条件=该功能需要满足的输入条件。
选择=选择列数。
R中subset()函数的主要优点
由于以下几个原因,R中的subset()函数很有用:
该子集是内置的R函数,不需要安装其他软件包。
R中的filter()函数也执行相同的工作(子集数据)。
但是,就执行时间而言,subset()函数比过滤器要快得多。发现其在处理海量数据集方面的重要性。
R中的subset()函数–一个简单的例子
在本节中,借助一个简单的示例,我们将对数据进行子集化。
加载数据集:
#importing dataset datasets::airquality
空气质量数据集
在上图中,您可以看到"空气质量"数据集,默认情况下,该数据集在R中可用。
现在,让我们应用subset()函数来提取"臭氧"列中存在的大于30的数据。
#returns values in ozone subset(airquality,Ozone > 30)
臭氧值> 30
在上图中,您可以看到"臭氧"列中存在的所有值都大于30(> 30)。
我希望您现在对这个功能有了更好的了解。
让我们进一步研究R中的subset()函数。
使用子集功能的多个条件
在以上各节中,我们向函数传递了一个条件。
现在,让我们尝试将多个条件传递给子集函数,然后看看它是如何工作的。
#function with multiple conditions subset(airquality, Ozone > 30 & Temp >= 40 & Wind >= 5)
Subset function In R with multiple conditions
在上面的代码中,您可以观察到我们在函数中使用了三个参数。
在输出中,您可以看到我们的所有条件都由subset()函数满足。
这样,您可以轻松地传递尽可能多的条件,该函数将满足有效条件并返回与输出相同的条件。
子集功能中的"选择"参数
子集函数的语法中的" select"参数。
让我们应用此select参数返回特定列。
让我们看看它是如何工作的。
#function with select option subset(airquality, Temp>=30 & Ozone >= 30, select = c(Ozone,Temp))
如您在上面的代码中看到的,我们添加了一个" select"参数,该参数返回指定的列,如上面的输出图像所示。
select参数将返回满足上述条件的指定列。
在上面的输出中,您可以看到,臭氧和温度值> 30。
具有多个输入的"选择"参数
在上一节中,我们仅向select参数添加了2个输入。
但是我们的数据集有6列。
因此,在本节中,我们将使用冒号来传递一系列列。
让我们看看它是如何工作的。
subset(airquality, Ozone>30 & Solar.R >30 ,select = c(Ozone:Day))
好了,在此输出图像中,您可以清楚地看到我们的子集函数满足了上述条件,并显示了代码中提到的Ozone:Day之间的所有行。
好吧,您已经做到了。
恭喜!!!
在R中使用subset()函数处理分类值
到目前为止,您已经使用数字数据了解了子集函数及其应用。
但是,如果您遇到分类数据怎么办?
让我们看看将上述技术应用于分类数据时会发生什么。
为此,我们使用的是" iris"数据集,默认情况下在R中可用。
#importing dataset datasets::iris
虹膜数据集
在上述数据集中,"种类"列中有分类数据。
让我们使用以下代码查看此数据中有多少种物种。
#getting unique values in column species unique(iris[,"Species"])
Output = Levels: setosa versicolor virginica
我们有三个类别,如上所示:
setosa versicolor virginica
好了,我们得到了类别,现在让我们使用subset()函数提取属于特定类别的数据。
#returns specific categories subset(iris, Species == "setosa")
虹膜数据与物种– setosa
我们在这里使用双等号" =="来比较两个字符串并验证其正确性。
这在许多编程语言中很常见,其中单个等号用于分配值,而双等号用于比较。