R прописная в английском: Прописные буквы английского алфавита и их произношение
replace – Как сделать заглавными все буквы, кроме некоторых, в R
спросил
Изменено 6 лет назад
Просмотрено 711 раз
У меня есть кадр данных в R со столбцом строк, например. v1 <- c('JaStADmmnIsynDK', 'laUksnDTusains')
Моя цель — сделать все буквы в каждой строке заглавными, кроме 's', 't' и 'y'.
В результате должно получиться: «JAStADMMNIsyNDK» и «LAUKsNDTUsAINS».
Таким образом, не изменяя ни одну из указанных букв: «с», «т» и «у».
На данный момент я делаю это, просто имея 25x
уровней (df$strings) <- sub('n', 'N', level(df$strings))
Но это перебор! Как я могу сделать это легко в R?
- r
- заменить
- верхний регистр
- нижний регистр
- заглавные буквы
1
Попробовать
v2 <- gsub("[sty]", "", paste(letters,collap="")) диаграмма (v2, верхняя часть (v2), v1) #[1] "ЯСтАДММНИсыНДК" "ЛАУКСНДТУСАИНС"
данные
v1 <- c("JaStADmmnIsynDK", "laUksnDTusainS")
7
Ответ, опубликованный @akrun, действительно блестящий. Но вот мой более прямой метод грубой силы, который я закончил слишком поздно.
с <- "JaStADmmnIsynDK" customUpperCase <- function(s,ignore = c("s","t","y")) { u <- sapply (unlist (strsplit (s, split = "")), function(x) if(!(x %in% ignore)) toupper(x) else x ) вставить (u, свернуть = "") } customUpperCase(s) #[1] "JAStADMMNIsyNDK"
Мы можем напрямую gsub()
заменить прописные буквы на каждую применимую строчную букву, используя оператор perl '\U' в группе захвата '\1' (о чем напомнил @Akrun):
v1 <- c( "JaStADmmnIsynDK", "laUksnDTusains") gsub('([a-ru-xz])', '\\U\\1'), v1, perl = TRUE) "ЯСтАДММНИСЫНДК" "ЛАУКСНДТУСАИНС"
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Грамматика английского языка 101 - Заглавные буквы, Урок 1: Имена людей
Я всегда проверяю правильность написания местоимения I с большой буквы.
Всегда пишите имена людей и животных с большой буквы.
Джо, Мэри, Клиффорд, Гарфилд, Спот, Скраффи
Все части имени писать с заглавной буквы. Некоторые фамилии (фамилии) имеют необычную заглавную букву из-за их первоначального значения. Имена, состоящие из более чем одной части, могут различаться, поскольку семьи меняют написание, чтобы упростить его.
Шон О'Мэлли (сын/внук Мэлли)
Эрин Макдональд (сын/внук Дональда) (в некоторых семьях пишется как Макдональд.)
Даниэль бен Иосиф (сын Иосифа)
Пьер дю Лак (из города Лак)
Бернард Винсент Шмолл-младший (все части имени с заглавной буквы)
Нежные слова, используемые в именах, также пишутся с большой буквы.
Доброе утро, милая.
Инициалы имен всегда пишутся с большой буквы.
Питер М. Карлсон, Салли П. Эмерсон.
Используйте заглавные буквы и сокращения заглавий, когда они используются с именами или вместо имен. Используйте их с заглавной буквы при использовании в прямом адресе. Не используйте их с заглавной буквы, если они не заменяют имя. Если им предшествует или / , они не пишутся с заглавной буквы.
Мистер Томпсон, мистер Томпсон
Миссис Гутьеррес, миссис Гутьеррес
Мисс Хеннесси (без аббревиатуры)
Доктор Коломбо, о. Пейдж, преп. Деннисон (Обратите внимание на и перед преподобным — это осталось от архаичного способа говорить о священнике.)
Доброе утро врач. Как вы сегодня? (Доктор заменяет свое имя.)
Доктор пришел проверить меня после того, как я заболел. (Доктор не пишется с заглавной буквы, потому что оно используется как имя нарицательное, а не титул.)
- Подсказка:
- Попробуйте заменить заголовок именем. Если это работает, используйте это с большой буквы. Если это не имеет смысла, не используйте его с большой буквы. Примеры: Доброе утро,
ДокторДжордж. Как вы сегодня? Доктор
Использовать сокращения после имени человека с большой буквы. Некоторые степени колледжа, кажется, имеют необычную заглавную букву. Вы делаете заглавной первую букву каждого слова. Пока вы это делаете, обратите внимание на периоды. Вы увидите их снова в другом блоке.
старший, младший, III
А.А. (сотрудник искусств)
Б.С. (бакалавр наук)
MD (врач)
Кандидат наук. (доктор философских наук)
Д.Д.С. (доктор стоматологических наук)
Практикуйте то, что выучили
Упражнения зарезервированы для владельцев учетных записей.
Пожалуйста, войдите в систему.
Нужен аккаунт?
Зарегистрируйтесь , чтобы начать.