Для новой настройки LAMP running php 7 отредактируйте файл /etc/httpd/conf/httpd.conf. Примечание. Обязательно сделайте резервную копию для него перед тем, как что-либо изменить.
Вставьте это в самое нижнее файла:
<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
Затем найдите LoadModule и вставьте следующую строку:
LoadModule php7_module modules/libphp7.so
Эта строка просто попросит httpd загрузить модуль php 7
Затем перезапустите httpd
Возможно, вы ищете эту функцию plyr :: revalue:
mutate(dat, x = revalue(x, c("A" = "B")))
Вы также можете увидеть plyr :: mapvalues.
По моему мнению, принятый в настоящее время ответ только изменяет порядок уровней фактора , а не фактические метки (т. е. как называются уровни фактора) , Чтобы проиллюстрировать разницу между уровнями и , рассмотрим следующий пример:
Поверните cyl
в коэффициент (задающие уровни не нужны, поскольку они кодируются в алфавитно-цифровом порядке):
mtcars2 <- mtcars %>% mutate(cyl = factor(cyl, levels = c(4, 6, 8)))
mtcars2$cyl[1:5]
#[1] 6 6 4 6 8
#Levels: 4 6 8
Измените порядок уровней (но не сами метки: cyl все еще один и тот же столбец)
mtcars3 <- mtcars2 %>% mutate(cyl = factor(cyl, levels = c(8, 6, 4)))
mtcars3$cyl[1:5]
#[1] 6 6 4 6 8
#Levels: 8 6 4
all(mtcars3$cyl==mtcars2$cyl)
#[1] TRUE
Назначьте новые ярлыки cyl
Порядок меток был: c (8, 6, 4), поэтому мы указываем новые метки следующим образом:
mtcars4 <- mtcars3 %>% mutate(cyl = factor(cyl, labels = c("new_value_for_8",
"new_value_for_6",
"new_value_for_4" )))
mtcars4$cyl[1:5]
#[1] new_value_for_6 new_value_for_6 new_value_for_4 new_value_for_6 new_value_for_8
#Levels: new_value_for_8 new_value_for_6 new_value_for_4
Обратите внимание, что этот столбец отличается от наших первых столбцов:
all(as.character(mtcars4$cyl)!=mtcars3$cyl)
#[1] TRUE
#Note: TRUE here indicates that all values are unequal because I used != instead of ==
#as.character() was required as the levels were numeric and thus not comparable to a character vector
Подробнее:
Если мы изменили уровни cyl
, используя mtcars2
вместо mtcars3
, нам нужно было бы указать метки по-разному получить тот же результат. Порядок меток для mtcars2
был: c (4, 6, 8), поэтому мы указываем новые метки следующим образом
#change labels of mtcars2 (order used to be: c(4, 6, 8)
mtcars5 <- mtcars2 %>% mutate(cyl = factor(cyl, labels = c("new_value_for_4",
"new_value_for_6",
"new_value_for_8" )))
В отличие от mtcars3$cyl
и mtcars4$cyl
, метки из mtcars4$cyl
и mtcars5$cyl
, таким образом, идентичны, хотя их уровни имеют другой порядок.
mtcars4$cyl[1:5]
#[1] new_value_for_6 new_value_for_6 new_value_for_4 new_value_for_6 new_value_for_8
#Levels: new_value_for_8 new_value_for_6 new_value_for_4
mtcars5$cyl[1:5]
#[1] new_value_for_6 new_value_for_6 new_value_for_4 new_value_for_6 new_value_for_8
#Levels: new_value_for_4 new_value_for_6 new_value_for_8
all(mtcars4$cyl==mtcars5$cyl)
#[1] TRUE
levels(mtcars4$cyl) == levels(mtcars5$cyl)
#1] FALSE TRUE FALSE
Не могу комментировать, потому что у меня недостаточно очков репутации, но перекодировка работает только с вектором, поэтому приведенный выше код в ответе @ Стефано должен быть
df <- iris %>%
mutate(Species = recode(Species,
setosa = "SETOSA",
versicolor = "VERSICOLOR",
virginica = "VIRGINICA")
)
Вы можете использовать функцию recode
из dplyr
.
df <- iris %>%
mutate(Species = recode(Species, setosa = "SETOSA",
versicolor = "VERSICOLOR",
virginica = "VIRGINICA"
)
)
Я не совсем уверен, что правильно понимаю ваш вопрос, но если вы хотите изменить уровни факторов cyl
на mutate()
, вы могли бы сделать:
df <- mtcars %>% mutate(cyl = factor(cyl, levels = c(4, 6, 8)))
Вы получили бы:
#> str(df$cyl)
# Factor w/ 3 levels "4","6","8": 2 2 1 2 3 2 3 1 1 2 ...