【发布时间】:2022-11-25 05:52:57
【问题描述】:
好像和我之前的问题一样。但是这个是从 do 循环中寻找最大值。 我不知道在 R 中该怎么做。 但是 SAS 中的代码如下:
data cek3;set cek;
do i = 1 to length(delq12);
X = substr(delq12,i,1);
if X in ('Z','B','1') then X = '0';
Y = put(X,2.);
MAX_DELQ = max(MAX_DELQ,Y);
end;
MAX_DELQ = max(MAX_DELQ-1,0);
run;
我有数据
delq12 <- c('ZZZZZZBZZZZZ','Z1ZZZZZZZZZZ','ZZ2ZZZZ22ZZZ','ZZZ3ZZ4ZZZZ0')
先感谢您
【问题讨论】:
-
sapply(stringr::str_split(delq12,""), function(x) max(as.numeric(x), na.rm=TRUE)-1)给[1] -Inf 0 1 3怎么样。您可以修改该函数以避免出现有关NAs 的警告消息,并且不会向max发送非缺失参数,并在这些情况下返回NA或0。