При создании сложной функции мне нужно было преобразовать все недвоичные (кроме 0/1) символы в числовом векторе в нули:
cwhmisc::int(1010110.001) # 1010110; integer part; class=integer
cwhmisc::frac(1010110.001) # 0.001; fractional part; class=numeric
as.character(cwhmisc::frac(1010110.001)) # "0.00100000004749745" (unwanted nonbinaries (4,7,4,9,7,4,5) produced)
toString(cwhmisc::frac(1010110.001)) # "0.00100000004749745" (was not a solution to kill unwanted things)
nchar(cwhmisc::frac(1010110.001)) # 19 (unwanted things are really there)
as.numeric(strsplit(substr(as.character(cwhmisc::frac(1010110.001)),3,nchar(as.character(cwhmisc::frac(1010110.001)))),"")[[1]]) # 0 0 1 0 0 0 0 0 0 0 4 7 4 9 7 4 5
Как конвертировать
c(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 7, 4, 9, 7, 4, 5)
до
c(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)