如何在行和返回值中匹配一个变量而不是在r代码中返回另一行的另一个条件

问题描述 投票:-1回答:1

i)我想匹配file1列等于“CL”然后返回CL行,如果file1列等于“NQ”并且file2列等于“IL”形式作为表,则应返回立即“NQ”行

                file1  file2 file3 file4    
                 NQ      85    1      S 
                 NQ      IL    1      S 
                 NQ      PR    2      A     
                 CL      49    60     J    
                 NQ      IL    1      K 
                 DM      D8    9      F 
                 NQ      PR    2      N   
                 CL      21    4      3         
                 HI      B     5      1 
                 NQ      IL   11     10   
                 3       8     2     11
                 CL      2     8     18   
                 REF     X     9     19

 This data is in data table format.please help me to achieve the expected table.
 file1 file2 file3 file4 
  NQ    IL   1     S    
  CL    49   60    J   
  NQ    IL   1     K    
  CL    21   4     3    
  NQ    IL   11    10   
  CL    2    8     18                     
r pattern-matching
1个回答
1
投票

你可以使用subset

subset(df, file1 == 'NQ' & file2 == 'IL' | file1 == 'CL')
#file1 file2 file3 file4
#   NQ    IL     1     S
#   CL    49    60     J
#   NQ    IL     1     K
#   CL    21     4     3
#   NQ    IL    11    10
#   CL     2     8    18

数据

df <- read.table(text = "file1  file2 file3 file4    
NQ      85    1      S 
NQ      IL    1      S 
NQ      PR    2      A     
CL      49    60     J    
NQ      IL    1      K 
DM      D8    9      F 
NQ      PR    2      N   
CL      21    4      3         
HI      B     5      1 
NQ      IL   11     10   
3       8     2     11
CL      2     8     18   
REF     X     9     19", header = TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.