Основной причиной этой ошибки является отсутствие значений в одной или нескольких переменных предиктора. В последних версиях R действие по умолчанию состоит в том, чтобы опустить все строки, у которых отсутствуют какие-либо значения (предыдущим значением по умолчанию было создание ошибки). Так, например, если в кадре данных есть 100 строк и в X3 есть одно отсутствующее значение, тогда ваша модель glm1 будет соответствовать 99 строкам данных (отбрасывая строку, где отсутствует X3), но объект glm2 будет полностью укомплектован 100 строк данных (поскольку он не использует X3, никакие строки не нужно удалять).
Итак, функция anova
дает вам ошибку, потому что две модели подходят для разных наборов данных (и как вы вычисляете степени свободы и т. д.).
Одним из решений является создание нового фрейма данных, который имеет только те столбцы, которые будут использоваться, по крайней мере, в одной из ваших моделей и удалять все строки с любыми (функция na.omit
или na.exclude
сделает это проще), затем установите обе модели в один и тот же фрейм данных, у которого нет каких-либо отсутствующих значений.
Другими вариантами были бы просмотр инструментов для множественного вменения или других способов устранения недостающих данных.
Я использовал машины с твердотельными накопителями вместо стандартных жестких дисков. Кажется, нет никакой реальной выгоды. Вы думали бы, что они будут быстрее; они не. Вы думали бы, что они потребят меньше энергии, но это, действительно кажется, не имеет место также.
Главная оборотная сторона - то, что у них есть конечное число доступных записей. Постоянно запись в диск (поскольку большинство операционных систем делает) износит SSD намного быстрее, чем это будет стандартный диск.
Смотрите на IODrive FusionIO. Трудно найти недостатки (за исключением цены, но я собираюсь купить один для моего персонального компьютера. да, я - геймер).
BTW, цена на диск IO составляет $30/ГБ о. Но это - производительность, на одном уровне диск w/40 массивы SAN.
Я использовал карты CF и карты флэш-памяти USB как загрузочный носитель для встроенных систем Linux.
Они являются великими для встроенных систем и чего-либо, что легко на доступе к устройству хранения данных.
Профессионалы:
Недостатки:
Никакое заметное увеличение скорости на основе моего опыта.
Существует много за и против.
Мы раньше использовали их все время (назад, когда флеш-накопитель 128 МБ был огромен), и единственный недостаток был ценой. Кроме этого, они были фантастическими. Мы могли обновить встроенное микропрограммное обеспечение путем простой выгрузки карты.
Я думал о том, почему флеш-накопитель мог бы быть только незначительно быстрее, чем диск. Память должна быть быстрее, чем диск, но оперативная память быстрее, чем флэш-память. Таким образом, если Вы считаете те же блоки из диска много раз, и ОС кэширует те блоки в первый раз вокруг, то последующие чтения на самом деле поразят память и не диск. Флеш-накопители также получили бы от кэширования диска, конечно.
Для нашего кода я подозреваю (не имея возможности протестировать его), что флеш-накопители не могли бы быть усилением скорости/цены. Алгоритм использует крупные справочные таблицы, чтобы не повторять дорогие вычисления, таким образом, мы добираемся, много IO ожидает. Один из нашего SAS обнаружил, что, если мы стоим в очереди три связанных задания сразу, они могут часто работать в только за время, которое требуется для выполнения всего одного задания. Кэш системного диска сокращает чтение с диска существенно, если существует достаточно доступной памяти.
Так как эти таблицы редко изменяются, ограничение количества записи не является огромным беспокойством, но цена. Это кажется, что существуют приложения, которые работают хорошо на эту технологию, но это не серебряная пуля.
Я записал обзор WARP Patriot с перспективой на моей Lenovo W500. Производительность была довольно плоха.
http://peterkellner.net/2009/02/08/ssd-notebook-lenovo-patriot-warp-veryslow/
Несколько человек назвали ограничения записи на флеш-память. Это не большая проблема для лучших твердотельных накопителей - особенно для высокопроизводительных, которые используют такие люди, как EMC.
Взгляните, например, на Intel X25-E . В нем используется флэш-память с однослойной ячейкой (SLC), которая может обрабатывать больше операций записи, чем более дешевая, более плотная флэш-память с многослойной ячейкой (MLC), которая используется в твердотельных накопителях низкого и потребительского уровня. Типичные компоненты SLC в наши дни имеют время записи 100 000 операций записи.
Так что, если вы приобретете диск Intel объемом 64 ГБ и будете записывать на него с максимальной устойчивой пропускной способностью (170 МБ / с), потребуется 64 КБ * 100000/170 секунд = 1,22 года, чтобы записать достаточно данных на SSD, чтобы начать работать с ограничениями записи.
Это, конечно, чрезмерное упрощение. Есть и другие факторы, которые играют роль. Самое главное:
В общем, любой SSD на базе SLC, представленный на рынке в наши дни, должен проработать несколько лет, прежде чем долговечность записи станет проблемой. В качестве индикатора вы обнаружите, что на многие лучшие твердотельные накопители предоставляется многолетняя гарантия.
Покупатель, будьте осторожны! На eBay продается много фальшивых перьевых накопителей (те, которые сообщают ОС как 16, 32 ГБ и т. Д., Но могут содержать только 2 ГБ или около того, прежде чем данные будут повреждены). Многих людей обижают, потому что они не проверяют свою память (они предполагают, что у нее 16 ГБ, потому что операционная система говорит, что это так). Единственный способ убедиться, что ваш диск подлинный, - это записать на него неповторяющиеся (псевдо) случайные байты, а затем прочитать их, чтобы убедиться, что все они верны.
SOSFakeFlash ведет огромный список подтвержденных продавцов фальшивых вспышек на eBay.
Я не знаю, страдают ли мощные твердотельные накопители (в отличие от флеш-накопителей и карт памяти) этой проблемой, но я настоятельно рекомендую всем покупателям памяти протестировать свою память.
Когда у меня будет время, я напишу простой тестер дисков с открытым исходным кодом для Linux, реализующий подход случайных байтов.