2017-05-25 74 views
1

请帮助字符串内容,我需要提取从B列 这似乎对那些在A列从数据帧中的所有条目提取基于第1列

我需要列一个基于搜索其具有GK104 也就是说,如果列A在其enries GK104串时,将取回从塔B

A     B 
DT-GK104-BIN1-E-A1 8000_AMKR 
DT-GK104-BIN2-E-A2 8000_ASET 
DT-GK104-BIN3-E-A1 8000_CPAC 
DT-GK104-BIN4-E-ZK 8000_PWOO 
DT-GK104-BIN5-E-ZK 8000_SPIL 
+3

'grep的( “GK104”,DF $ A)'会给在A列中包含'GK104'行数的向量。然后您可以使用它来引用列B. –

回答

0

对应条目这是简单的。要继续安德鲁·古斯塔夫的评论,你只需要使用grepl

df <- 
"A     B 
DT-GK104-BIN1-E-A1 8000_AMKR 
DT-GK104-BIN2-E-A2 8000_ASET 
DT-GK104-BIN3-E-A1 8000_CPAC 
DT-GK104-BIN4-E-ZK 8000_PWOO 
DT-GK104-BIN5-E-ZK 8000_SPIL" 

df <- read.table(text=df, header = T, stringsAsFactors = F) 

# Save a value which you want to match 
value <- "A1" 

# You can get a filtered dataframe 
df[grepl(value, df$A),] 
        A   B 
1 DT-GK104-BIN1-E-A1 8000_AMKR 
3 DT-GK104-BIN3-E-A1 8000_CPAC 

# Or you can just get a character vector of matched values in the second column 
df$B[grepl(value, df$A)] 
[1] "8000_AMKR" "8000_CPAC"