从 R DataFrame 中选择包含正值和负值的行
在本文中,我们将讨论如何在 R 编程语言中选择包含正值和负值的数据框中的行。让我们举一个例子来更好地理解。
假设您在 R 中有以下数据框,其中包含多个列和行。所有行都包含负值或正值,或者两者都包含,如下所示。
使用中的数据框: temp_1 temp_2 temp_3 temp_4 temp_5 1. -74 88 39 -64 -83 2. -89 52 37 -26 -39 3. 34 -28 -39 -54 -53 4. -82 -19 -64 -33 -20 5. -64 39 -93 -43 -31 6. 92 86 44 23 82 7. -67 -31 38 63 -17
所以,我们的任务是只选择那些同时包含正值和负值的行。选择值后,我们的数据框应如下所示。
预期输出: temp_1 temp_2 temp_3 temp_4 temp_5 1. -74 88 39 -64 -83 2. -89 52 37 -26 -39 3. 34 -28 -39 -54 -53 5. -64 39 -93 -43 -31 7. -67 -31 38 63 -17
当且仅当存在包含大于 0 且小于 0 的值的任何行时,我们将取数据框的一个子集,否则,我们将不考虑它。
句法:
subset(x,(rowSums(sign(x)<0)>0) & (rowSums(sign(x)>0)>0))
这里,x 是数据框名称。
方法:
- 创建数据集
- 应用子集()
- 选择具有负值和正值的行
- 显示那些行
例子:
R
# To select rows in dataframe
# that contains both positive and negative values
# Creating dataset
# creating fisrs column
first <- c(-74,-89,34,-82,-64,92,-67)
# creating second column
second <- c(88,52,-28,-19,39,86,-31)
# creating third column
third <- c(39,37,-39,-64,-93,44,38)
# creating fourth column
fourth <- c(-64,-26,-54,-33,-43,23,63)
# creating fifth column
fifth <- c(-83,-39,-53,-20,-31,82,-17)
# creating dataframe
x <- data.frame(temp_1=first,
temp_2=second,temp_3=third,
temp_4=fourth,temp_5=fifth)
# checking if there exist a row with
# both positive and negative values
subset(x,(rowSums(sign(x)<0)>0) & (rowSums(sign(x)>0)>0))
输出: