我需要在某个范围之间的grep
值。
我怎么写这个?
我试过不同的事情,例如
选择0 and 1
之间的所有内容 - 将其命名为A
mydata[grep("<=[1]",">=[0]") , mydata_V1, perl= TRUE ), "new_variable" <- "A"
答案 0 :(得分:1)
此Perl代码使用grep
来选择0到1(包括)之间的所有内容。
my @mydata = (-0.1, 0, 0.1, 0.5, 1, 1.1);
my @selected = grep {0 <= $_ && $_ <= 1} @mydata;
答案 1 :(得分:1)
您的示例表达式中存在语法错误,我不确定它究竟是什么意思,但我认为您想要的是逻辑索引:
> 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/(包括如何对多维数据结构执行此操作)。