我需要grep
在一定范围内的值。我怎么写这个?
我尝试了不同的方法,例如选择之间的所有内容0 and 1
- 称之为 A
mydata[grep("<=[1]",">=[0]") , mydata_V1, perl= TRUE ), "new_variable" <- "A"
我需要grep
在一定范围内的值。我怎么写这个?
我尝试了不同的方法,例如选择之间的所有内容0 and 1
- 称之为 A
mydata[grep("<=[1]",">=[0]") , mydata_V1, perl= TRUE ), "new_variable" <- "A"
您的示例表达式中有语法错误,我不确定它的确切含义,但我认为您想要的是逻辑索引:
> mydata <- runif(20, 0, 2)
> mydata[mydata >= 0 & mydata <= 1] <- NA
> mydata
[1] NA NA 1.655342 1.704777 NA 1.026898 NA NA
[9] NA 1.316825 NA 1.498825 NA NA 1.263354 NA
[17] NA 1.389281 NA 1.041297
注意使用&
代替&&
。如果您使用&&
.
有关更多示例(包括如何对多维数据结构执行此操作),请参见http://www.cookbook-r.com/Basics/Indexing_into_a_data_structure/ 。
此 Perl 代码使用 agrep
选择 0 和 1(包括)之间的所有内容。
my @mydata = (-0.1, 0, 0.1, 0.5, 1, 1.1);
my @selected = grep {0 <= $_ && $_ <= 1} @mydata;