Вы можете сделать это с помощью dplyr
функций mutate
и case_when
, чтобы использовать столбец id
для применения функции dmy_hm
или mdy_hm
соответственно.
library(dplyr)
library(tibble) # for tribble
library(lubridate)
df <- tribble(~date, ~id,
"10/01/2014 08:00", "A", # these are day/month/year format
"10/01/2014 06:00", "A",
"09/01/2014 18:00", "A",
"09/01/2014 15:00", "A",
"09/01/2014 12:00", "A",
"09/01/2014 10:00", "A",
"10/01/2014 10:00", "B", # these are month/day/year format
"10/01/2014 10:00", "B",
"10/01/2014 10:00", "B",
"10/01/2014 10:00", "B")
mutate(df, date = case_when(id == "A" ~ dmy_hm(date),
id == "B" ~ mdy_hm(date)))
#> # A tibble: 10 x 2
#> date id
#>
#> 1 2014-01-10 08:00:00 A
#> 2 2014-01-10 06:00:00 A
#> 3 2014-01-09 18:00:00 A
#> 4 2014-01-09 15:00:00 A
#> 5 2014-01-09 12:00:00 A
#> 6 2014-01-09 10:00:00 A
#> 7 2014-10-01 10:00:00 B
#> 8 2014-10-01 10:00:00 B
#> 9 2014-10-01 10:00:00 B
#> 10 2014-10-01 10:00:00 B
Создано в 2019-01-18 с помощью пакета представитель (v0.2.1) sup>
Вообще говоря, лучшие веб-формы являются самыми простыми, которые требуют, чтобы я думал меньше всего. "Стандарт", который развился, - то, что обязательные поля имеют звездочку (*) рядом с ними. Иногда звездочка является красной, чтобы помочь ему выделиться немного.
Почему борьба стандарт? Не заставляйте своих пользователей думать слишком много. Пойдите со стандартом и сохраните свою креативность для более важных вещей.
Если Вы используете таблицы стилей для форматирования HTML, то можно создать стиль для .mandatory
. Как пример, набор обязательный вход для использования этого стиля затем можно играть с ним более легко, пока у Вас нет правильного соединения цвета, границы и других элементов стиля для удовлетворения общему замыслу.
HTML
<input id="username" type="text" class="mandatory" />
CSS
.mandatory {
color: red;
font-size: 12pt;
font-weight: bold;
font-style: italic;
}
Я также использую звездочку в качестве OP, упомянутого как "резервное копирование".
- R
Если Вы собираетесь использовать цвет, чтобы выделить поле, принять во внимание, что некоторые люди являются страдающими дальтонизмом (поэтому, возможно, обеспечивают другой индикатор также),
добавьте стиль = "граница: тонкое красное тело"; к элементу
Я нашел, что ответы на LukeW.com являются самыми полезными. потому что нет простого решения здесь. Это зависит от того, какой процент полей требуются, сколько полей находится в Вашей форме, и какой длины Ваши маркировки. Для подавляющего большинства сети люди понимают полужирный, чтобы требоваться, и нормальный вес, чтобы быть дополнительными (если какие-либо опции являются полужирными). Только после того, как сбои проверки формы были бы я дарить пользователю required-yet-skipped выделенные поля ввода.
У меня обычно нет возражений на наблюдение (необходимое) в шрифте меньшего размера или прямо ниже имени поля или смежный с полем записи.
Я мог также видеть, что использование "водяного знака текстового поля", чтобы иметь поле говорит "требуемый" в нем, пока они не приносят фокус к полю и начинают вводить.
Иногда это действительно допустимо для маркировки полей как обязательные и дополнительные. Однако, прежде чем Вы делаете так, необходимо подвергнуть сомнению, разумно ли спросить пользователя необязательная информация. Это применяется особенно в формах регистрации.
В формах регистрации и таком, намного лучше спросить только минимальную информацию. После регистрации пользователь может, по желанию, заполнить дополнительную информацию в отдельных формах.
После того, как весь ненужный хлам был взят из формы, Вы могли бы видеть, что нет никакой потребности отметить поля как обязательные; или все обязательно, или это могло бы быть столь очевидно для пользователя, какие поля являются дополнительными, что не было бы никакой потребности дать визуальные индикаторы об этом.
Мог бы хотеть проверить www.PeterBlum.com - Его Профессиональные скалы Пакета Проверки для проверки и форматирования средств управления. У него есть учебные руководства для использования и многочисленных примеров, а также подробного руководства.
Мне нравится способ, которым это сделано в Инструментарии Управления Ajax ASP.NET для управления ValidatorCallout: