📌  相关文章
📜  选择 R 中列值在范围内的 DataFrame 行

📅  最后修改于: 2022-05-13 01:55:07.336000             🧑  作者: Mango

选择 R 中列值在范围内的 DataFrame 行

在本文中,我们将讨论如何在 R 编程语言中选择列值在某个范围内的数据帧行。

数据框索引可用于从数据框中提取行或列。该条件可以应用于数据帧的特定列并使用逻辑运算符组合。返回 TRUE 或 FALSE 形式的逻辑值,其中 TRUE 值指示满足条件的行。然后使用返回的行索引提取选定的行。

句法:

示例:选择列值在范围内的行



R
# create first dataframe
data_frame1 < -data.frame(col1=c(rep('Grp1', 2),
                                 rep('Grp2', 2),
                                 rep('Grp3', 2)),
                          col2=rep(1: 3, 2),
                          col3=rep(1: 2, 3),
                          col4=letters[1:6]
                          )
  
print("Original DataFrame")
print(data_frame1)
  
filtered_rows < - data_frame1$col2 >= 2 & data_frame1$col2 < 4
data_frame_mod < - data_frame1[filtered_rows, ]
  
print("Extracted DataFrame")
print(data_frame_mod)


R
# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
                               rep('Grp2',2),
                               rep('Grp3',2)), 
                        col2=rep(1:3,2),
                        col3=rep(1:2,3),
                        col4 = letters[1:6]
                        )
  
print("Original DataFrame")
print(data_frame1)
  
filtered_rows <- data_frame1$col4 == 'a' | data_frame1$col3==2
data_frame_mod <- data_frame1[filtered_rows ,]
  
print("Extracted DataFrame")
print(data_frame_mod)


输出:

[1] "Original DataFrame" 
col1 col2 col3 col4 
1 Grp1    1    1    a 
2 Grp1    2    2    b 
3 Grp2    3    1    c 
4 Grp2    1    2    d 
5 Grp3    2    1    e 
6 Grp3    3    2    f 
[1] "Extracted DataFrame" 
col1 col2 col3 col4 
2 Grp1    2    2    b 
3 Grp2    3    1    c 
5 Grp3    2    1    e 
6 Grp3    3    2    f

条件也可以应用于数据帧的多列,并使用逻辑运算符连接。

示例:通过对多列应用条件来选择列。

电阻

# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
                               rep('Grp2',2),
                               rep('Grp3',2)), 
                        col2=rep(1:3,2),
                        col3=rep(1:2,3),
                        col4 = letters[1:6]
                        )
  
print("Original DataFrame")
print(data_frame1)
  
filtered_rows <- data_frame1$col4 == 'a' | data_frame1$col3==2
data_frame_mod <- data_frame1[filtered_rows ,]
  
print("Extracted DataFrame")
print(data_frame_mod)

输出:

[1] "Original DataFrame" 
col1 col2 col3 col4 
1 Grp1    1    1    a 
2 Grp1    2    2    b 
3 Grp2    3    1    c 
4 Grp2    1    2    d 
5 Grp3    2    1    e 
6 Grp3    3    2    f 
[1] "Extracted DataFrame" 
 col1 col2 col3 col4 
1 Grp1    1    1    a 
2 Grp1    2    2    b 
4 Grp2    1    2    d 
6 Grp3    3    2    f