如何避免使用循环基于多个因子水平来对数据框进行子集化?
在下面的例子中,我希望得到一个数据框。该数据框应包含原始数据框中“Code”列值等于“selected”列表中某个值的行。
工作示例:
#sample data
Code<-c("A","B","C","D","C","D","A","A")
Value<-c(1, 2, 3, 4, 1, 2, 3, 4)
data<-data.frame(cbind(Code, Value))
selected<-c("A","B") #want rows that contain A and B
#Begin subsetting
result<-data[which(data$Code==selected[1]),]
s1<-2
while(s1<length(selected)+1)
{
result<-rbind(result,data[which(data$Code==selected[s1]),])
s1<-s1+1
}
这只是一个较大数据集的玩具示例,因此“selected”可能包含许多元素,而数据可能有许多行。因此,我想避免循环。