Новый (в 2014 году) tidyr
пакет также делает это просто, при этом gather()
/ spread()
является слагаемыми для melt
/ cast
.
library(tidyr)
spread(dat1, key = numbers, value = value)
Из github ,
tidyr
- это перерисовкаreshape2
, предназначенная для сопровождения аккуратной структуры данных и работающая рука об руку сmagrittr
иdplyr
, чтобы построить сплошной конвейер для анализа данных.Так же, как
blockquote>reshape2
сделал меньше, чем изменение,tidyr
делает меньше, чемreshape2
. Он разработан специально для сбора данных, а не для общей перестройки, которую делаетreshape2
, или общего преобразования, которое изменилось. В частности, встроенные методы работают только для кадров данных, аtidyr
не содержит полей или агрегации.
Скрипты и стили будут (повторно) загружаться и оцениваться только после их вставки на страницу. Когда HTML принимается через AJAX, Turbolinks создает закулисный новый документ HTML и устанавливает его содержимое в ответ HTML. Поскольку это еще не обработано / вставлено, браузер не загружает / не оценивает никакие сценарии или стили. <head>
нового документа теперь можно сравнить с текущим, и при необходимости можно добавить дополнительные активы.
С точки зрения конкретных компонентов Turbolinks:
Visit
s создают Snapshot
из ответа AJAX (см. Visit#loadResponse
) Snapshot
создают закулисные элементы HTML (см. Snapshot#fromHTMLString
SnapshotRenderer
s, объединяющие <head>
и заменяющие <body>
() SnapshotRenderer#mergeHead
и SnapshotRenderer#replaceBody
)