r语言中如何从一组数据筛选出符合条件的值,求R的筛选code

Python028

r语言中如何从一组数据筛选出符合条件的值,求R的筛选code,第1张

假设这一列数为a,a是vector。a[a<-log(0.0000043,10)]。

第一个用table(), 会把所有user的频数显示出来,table(testing$user)。

第二个就取交集算个数吧。

如果只看user == 2中,item也相同的个数,那么

testuser <- testing[testing$user == 2, ]

trainuser <- trainuser[training$user == 2, ]

length(intersect(testuser, trainuser))。

如果两个数据集的变量完全一样的话可以直接这样 :

newdata<-merge(longlist,shortlist,all=FALSE)

得到的就是两个的交集。

如果变量不同的话,可以接着刚才操作,设定变量x用来标注longlist中的id是否也在shorlist中出现过:

id<-newdata$id

x<-c("true")

a<-cbind(id,x)

a<-data.frame(a)

longlist<-merge(longlist,a,all=TRUE)

然后longlist中就会多出x变量,与shortlist相同的id后面x为true

建议你选择subset函数

subset函数,从某一个数据框中选择出符合某条件的数据或是相关的列

(1)单条件查询

>selectresult=subset(df1,name=="aa")

>selectresult

name age sex

1 aa 20 f

>df1

name age sex

1 aa 20 f

2 bb 29 m

3 cc 30 f

(2)指定显示列

>selectresult=subset(df1,name=="aa",select=c(age,sex))

>selectresult

age sex

1 20 f

(3)多条件查询

>selectresult=subset(df1,name=="aa" &sex=="f",select=c(age,sex))

>selectresult

age sex

1 20 f

>df1

name age sex

1 aa 20 f

2 bb 29 m

3 cc 30 f