1
A<-c(1,4,5,6)
B<-c(4,6,7,8)
C<-c(6,9,1,2)
D<-c(5,6,7,3)
E<-c(10,11,12,19)
DF<-data.frame(A,B,C,D,E)
colnames(DF)<-c("A_1","B_1","C_2","D_2","TEST")
One<-1
Two<-2
我想基於在最後一列中找到的條件用grep下降(使NA)我的數據。
DF[DF$TEST>15,grep(Two,colnames(DF))]<-NA
工作得很好
DF[DF$TEST>15,grep(Two|One,colnames(DF))]<-NA
無法加
以防萬一數值數據略有不同
DF[DF$TEST>15,grep(2,colnames(DF))]<-NA
這工作得很好
DF[DF$TEST>15,grep(2|1,colnames(DF))]<-NA
這不
理想情況下,我想能夠使用grep基於幾個每個定義的變量來丟棄數據:
grep(One|Two|Three|Four)
,或者如果處理數字
grep(1:4)
而且我不確定是否可以在正則表達式中添加,但最終如果我能做到這一點,最簡單:
DF[DF$TEST>15,grep(One+1,colnames(DF))]<-NA #If I were trying to grep on 2
或
DF[DF$TEST>15,grep(One+1:One,colnames(DF))]<-NA #If I were trying to grep on 1:2