小编Wal*_*ter的帖子

按多个因子级别子集数据帧

如何避免使用循环根据多个因子级别对数据帧进行子集化?

在以下示例中,我想要的输出是数据帧.数据框应包含原始数据帧的行,其中"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
}
Run Code Online (Sandbox Code Playgroud)

这是一个更大的数据集的玩具示例,因此"选中"可能包含大量元素,而数据包含大量行.因此我想避免循环.

r subset

19
推荐指数
2
解决办法
8万
查看次数

标签 统计

r ×1

subset ×1