Я пытаюсь выяснить, как выполнить базовую c математическую функцию для нескольких столбцов, используя mutate_all или mutate_at. Мне нужно преобразовать число в десятичную (разделить каждый столбец на 10). Это вторая часть после того, как я использую summarise_at для получения средних значений для каждого столбца. cn <- c ("tmin_1", "tmin_2", "tmin_3", "tmin_4", "tmin_5", "tmin_6", "tmin_7", "tmin_8", "tmin_9", "tmin_10", "tmin_11" , "tmin_12") </p>
a<-data.frame(replicate(12,sample(1:10,6,rep=TRUE)))
names(a)[1:12]<-cn
a$"S"<-c("A","A","A","B","B","B")
a2 <- a %>%
filter(S == "A") %>%
summarise_at(vars(tmin_1:tmin_12), funs(mean))
Работает до здесь. Когда в конце я добавляю «mutate_all (y = y / 10)», он не работает.
Приведенный выше код возвращает новый объект с 1 строкой и 12 столбцами, что я и хочу. Столбцы содержат средние значения. Теперь мне просто нужно разделить каждое значение на 10, чтобы преобразовать число. Я попытался mutate_all (), но он не работает для меня. Я не уверен, как выполнить /10
для каждого столбца. Я не знаю, как ссылаться на столбцы.
ПО связанной заметке, может ли кто-нибудь предоставить более простой способ создания приведенного выше примера фрейма данных? Я хотел бы создать таблицу случайных чисел в нескольких столбцах, назначить символы одному столбцу и присвоить каждому столбцу имена в одном наборе каналов.
Спасибо!