Возможно ли в функции R потребовать, чтобы числовой аргумент был снабжен определенным количеством десятичных знаков. Я хотел бы иметь что-то вроде:принудительное числовое значение аргумента, чтобы функция имела 2 знака после запятой
foo <- function(x) {
if(x has two decimal places) {
do something
}else{
print("Error, please provide the number with two decimal places. Ex: 2010.01")
}
}
foo(2010.1)
Error...
foo(2010.10)
works
Контекст: Я пишу package с набором функций импорта для различных наборов данных. Существует общий числовой аргумент (t, для «period») для всех функций. Однако частота варьируется между наборами данных (ежегодно, ежеквартально и ежемесячно). Поэтому я думал о том, что пользователь предоставляет год-месяц в виде числовой переменной с двумя десятичными знаками. Январь 2010 года будет t = 2010.01. Я хочу остановить пользователя от непреднамеренного написания 2010.1 за январь 2010 года.
Также, дайте мне знать, если вы считаете, что эта стратегия связана с проблемами. Мысль о том, что числовой аргумент для «периода» мне более интуитивно понятен и меньше ошибок pronto, а затем строка, но, возможно, это не стоит.
вы могли бы использовать функцию (Ndec) посчитать не в десятичной системе. –