Что-то вроде этого?
require(dplyr)
df1 %>% group_by(id,program) %>%
mutate(daterange=paste(seq(min.date,max.date),collapse=",")) %>%
separate_rows(daterange,sep=",") %>% select(-min.date,-max.date) %>%
spread(program,days)
mutate
создает строку всех лет в пределах каждого диапазона, разделенных запятой. Затем separate_rows
берет эту строку, разбивает ее на запятые и создает новую строку для каждого значения, которое мы затем можем просто spread
создать, как мне кажется, ваш фактический желаемый формат. Этот последний шаг может быть ненужным, в зависимости от того, как я интерпретирую ваш комментарий выше. Результат:
id daterange `1` `2` `3` `4`
<chr> <chr> <int> <int> <int> <int>
1 one 2000 NA 37 NA NA
2 one 2001 NA 37 NA NA
3 one 2002 NA 37 NA 89
4 one 2003 NA 37 57 89
5 one 2004 NA 37 57 89
6 one 2005 NA 37 57 89
7 one 2006 NA 37 57 89
8 one 2007 NA 37 57 89
9 one 2008 NA 37 57 89
10 one 2009 NA 37 57 89
# ... with 24 more rows
Прежде всего я - разработчик C++, не сеть, но записал и развернулся, подпись Windows Mobile получают стандартную программу в C++ / MFC. Если Вы хотите использовать или перевести код, сообщите мне, и я отправлю его здесь. Это не особенно изящно, но делает задание. В основном Вам нужны нажатия кнопок и доступные сообщения движения мыши.
уже снижавшийся на эту дорогу, мое заключение состоит в том, что это не большое использование технологии. Экраны имеют тенденцию быть протертыми и безразличные на области получения подписи, делая их бесполезными не только для получения подписи, но также и для другой операции. Наш опыт состоял в том, что для мобильных приложений типа отдела продаж, это ограничило жизнь руки helds приблизительно к году и закончилось с меньше, чем счастливыми пользователями.
идея камеры кажется намного более умной и не идет, повреждают устройство. IMO Вы также получили бы намного лучшие подписи, сенсорного экрана, ужасны.
Я не думаю, что это даже технически возможно, если Вы говорите о наличии, оно работает над огромным количеством мобильного browers. Большинство телефонов может, по крайней мере, послать изображение по электронной почте довольно легко, таким образом, Вы могли всегда посылать его на некоторый счет, где вложения выводятся где-нибудь. Однако, необходимо было бы вручную ввести в некотором идентификаторе в предмете.
Если мобильный браузер поддерживает JavaScript тогда, Вы могли бы быть в состоянии сделать это на некоторых устройствах с сенсорным экраном. Иначе это получено, чтобы быть сделанным с плагином, Java, флэш-памятью или некоторым похожим методом.
С JavaScript Вы посмотрели бы на то, где 'мышь'. На некоторых устройствах, если пользователь нажимает на экране со стилусом, можно захватить мышь перемещения и записать шаблон, за которым они следуют (подпись).
я подозреваю, что некоторые мобильные браузеры не передают ту информацию на JavaScript, хотя - они могут только передать щелчки...
Некоторое тестирование может быть в порядке.
-Adam
Не встраивая что-то в веб-страницу, единственный способ сделать это было бы с JavaScript.
, К сожалению, наиболее мобильные браузеры не поддерживают JavaScript и тех, которые делают не особенно быстры.
я не думаю, что возможно создать универсальное решение на основе большинства устройств, которые в настоящее время являются вокруг.
Я думаю, что идея изображения действительно умна, но я взял бы ее один шаг вперед. Некоторые мобильные устройства (телефоны в особенности) даже не делают загрузок файла в браузере. Я генерировал бы операцию определенный адрес электронной почты, какой-то хеш идентификатора транзакции и идентификатора пользователя, например, и позволил бы ему быть отправленным как почтовое вложение. Это должно поймать очень большое разнообразие клиентов, а также не добавление ужасной сложности.