if
оператор не векторизован. Для векторизованных операторов if вы должны использовать ifelse
. В вашем случае достаточно написать
w <- function(a){
if (any(a>0)){
a/sum(a)
}
else 1
}
или короткую векторную версию
ifelse(a > 0, a/sum(a), 1)
. Это зависит от того, что вы хотите использовать, потому что первая функция дает выходной вектор длина 1 (в остальной части) и ifelse
дает выходной вектор длины, равный длине a
.
Приложения Android имеют то, что называется Разрешения , и приложение сообщает телефону, что оно хочет делать. Целью этого является защита конфиденциальности пользователя Android.
В последнее время Google Play стал более строгим в том, какие приложения позволяют использовать некоторые из этих разрешений, поскольку они часто используются вредоносными приложениями. Одним из таких разрешений является READ_SMS. Если приложению предоставлено это разрешение, ему разрешено читать все SMS-сообщения пользователей.
Из вашего комментария звучит так, будто вы не хотите, чтобы ваше приложение читало SMS-сообщения пользователей. Таким образом, в этом случае проверка сработала - ваше приложение запрашивало разрешение, в котором оно не нуждалось. Вы должны удалить запрос на разрешение READ_SMS из вашего приложения.
Инструкции по редактированию разрешений в здесь, в собственном приложении «Реакция», здесь . Поэтому, возможно, вы добавили это разрешение в свой файл AndroidManifest.xml
. Если вы сделали, то вы должны удалить его.
Если вы не добавили его самостоятельно, возможно, плохая сторонняя библиотека, которую вы добавили в свое приложение, добавила разрешение. Если это так, вы должны прекратить использовать эту библиотеку.