R语言 如何有条件地删除R数据框架中的行

R语言 如何有条件地删除R数据框架中的行

在这篇文章中,我们将讨论如何在R编程语言中有条件地从数据框中删除行。我们需要有条件地从数据框中删除一些数据行,以准备数据。为此,我们使用逻辑条件,在此基础上删除不符合条件的数据。

方法1:通过单一条件移除行

为了从一个数据框架中移除基于单个条件语句的数据行,我们在数据框架中使用方括号[ ],并将条件语句放在其中。这将对数据框架进行切片,并删除所有不满足给定条件的行。

语法

df[ 条件语句]

其中。

  1. df: 决定了要使用的数据框架。
  2. conditional-statement: 决定过滤数据的条件。

例子

在这个例子中,所有x变量小于0的数据点都被删除。

# create sample data
sample_data <- data.frame( x = rnorm(10),
                          y=rnorm(10,20) )
# print data
print("Sample Data:")
sample_data
  
# filter data
new_data = sample_data[sample_data$x > 0, ]
  
# print data
print("Filtered Data:")
new_data

输出

Sample Data:
           x        y
1   1.0356175 19.36691
2  -0.2071733 21.38060
3  -1.3449463 19.56191
4  -0.5313073 19.49135
5   1.7880192 19.52463
6  -0.7151556 19.93802
7   1.5074344 20.82541
8  -1.0754972 20.59427
9  -0.2483219 19.21103
10 -0.8892829 18.93114
Filtered Data:
        x        y
1 1.035617 19.36691
5 1.788019 19.52463
7 1.507434 20.82541
10  1.0460800 20.05319

方法2:通过多个条件删除行

要从一个数据框架中移除基于多个条件语句的数据行。我们使用方括号 [ ]和数据框架,并将多个条件语句与AND或OR操作符放在里面。这将对数据框架进行切片,并删除所有不满足给定条件的行。

语法。

df[ 条件语句 & / | 条件语句 ] 。

其中。

  • df: 决定了要使用的数据框架。
  • conditional-statement: 决定过滤数据的条件。

例子

在这个例子中,所有x变量小于0和y变量小于19的数据点都被删除。

# create sample data
sample_data <- data.frame( x = rnorm(10),
                          y=rnorm(10,20) )
# print data
print("Sample Data:")
sample_data
  
# filter data
new_data = sample_data[sample_datax>0&sample_datay > 0.4, ]
  
# print data
print("Filtered Data:")
new_data

输出

Sample Data:
              x        y
1  -1.091923406 21.14056
2   0.870826346 20.83627
3   0.285727039 20.89009
4  -0.224661613 20.04137
5   0.653407459 19.01530
6   0.001760769 18.36436
7  -0.572623161 19.72691
8  -0.092852143 19.58567
9  -0.423781311 19.99482
10 -1.332091619 19.36539
Filtered Data:
            x        y
2 0.870826346 20.83627
3 0.285727039 20.89009
5 0.653407459 19.01530
6 0.001760769 18.36436

方法3:通过subset()函数删除行

subset()函数根据某些条件创建一个给定数据框架的子集。这有助于我们用单个或多个条件语句来删除或选择数据行。subset()函数是R语言的一个内置函数,不需要导入任何第三方软件包。

语法。

subset( df, Conditional-statement )

其中。

  • df: 决定了要使用的数据框架。
  • conditional-statement: 决定过滤数据的条件。

例子

在这个例子中,所有x变量小于19,y变量大于50的数据点都用subset函数删除。

# create sample data
sample_data <- data.frame( x = rnorm(10,20),
                          y=rnorm(10,50) )
# print data
print("Sample Data:")
sample_data
  
# filter data
new_data = subset(sample_data, sample_datax>19&sample_datay < 49 )
  
# print data
print("Filtered Data:")
new_data

输出

Sample Data:
          x        y
1  20.38324 51.02714
2  20.36595 50.64125
3  20.44204 52.28653
4  20.34413 50.08981
5  20.51478 49.53950
6  20.35667 48.88035
7  19.89415 49.78139
8  21.61003 49.43653
9  20.66579 49.14877
10 20.70246 50.06486
Filtered Data:
         x        y
6 20.35667 48.88035

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程