如何通过grepl提取基于值的子集
嗨,我想从120.5开始提取所有的观察结果,我用下面的方法来做如何通过grepl提取基于值的子集,r,dataframe,R,Dataframe,嗨,我想从120.5开始提取所有的观察结果,我用下面的方法来做 a<-c(120.1,120.3,120.5,120.566) Part<-c(1,2,3,4) DFFF<-data.frame(a,Part) lill <- subset(DFFF, grepl('^120.5', a), select = Part) > lill Part 3 3 我希望结果是3和4。如何在R中实现这一点。因为您只对一个数值变量进行子集设置,@NelsonGon的解
a<-c(120.1,120.3,120.5,120.566)
Part<-c(1,2,3,4)
DFFF<-data.frame(a,Part)
lill <- subset(DFFF, grepl('^120.5', a), select = Part)
> lill
Part
3 3
我希望结果是3和4。如何在R中实现这一点。因为您只对一个数值变量进行子集设置,@NelsonGon的解DFFF[DFFF$a>=120.5]绝对是第一个选项。如果出于某种原因,您必须使用grepls,您可以使用如下子集:
DFFF[grepl("120.5", DFFF$a), ]
a Part
3 120.500 3
4 120.566 4
但请记住,这只适用于a中的数字不等于或大于120.6的情况;所有这些值都不会匹配。因为您只对数值变量进行子集设置,@NelsonGon的解决方案DFFF[DFFF$a>=120.5]绝对是第一个选项。如果出于某种原因,您必须使用grepls,您可以使用如下子集:
DFFF[grepl("120.5", DFFF$a), ]
a Part
3 120.500 3
4 120.566 4
但请记住,这只适用于a中的数字不等于或大于120.6的情况;所有这些值将不匹配。在基本R中
ind <- which(DFFF$a >= 120.5)
lill <- DFFF$Part[ind]
在R底
ind <- which(DFFF$a >= 120.5)
lill <- DFFF$Part[ind]
你很接近,需要报价
lill <- subset(DFFF, grepl('^120.5', a), select="Part")
lill
# Part
# 3 3
# 4 4
你很接近,需要报价
lill <- subset(DFFF, grepl('^120.5', a), select="Part")
lill
# Part
# 3 3
# 4 4
可以做:DFFF[DFFF$a>=120.5,部分]或使用DFFF[grep'120.5',DFFF$a,部分]可以做:DFFF[DFFF$a>=120.5,部分]或使用DFFF[grep'120.5',DFFF$a,部分]