Я работаю в R с базой данных, которая имеет эти две переменные. Камуфляж и обнаружение. Значения двоичные, 0 для заметных и 1 для маскировки. 1 для обнаруженных и 0 для необнаруженных. Однако во время моего анализа я добавил значения, которые называются Неизвестными в переменной обнаружения. Я хотел бы переставить Неизвестный с 1, затем 0, и посмотреть, влияет ли каждая из перестановок на значение используемого мной glm. Перестановка может заключаться в том, что все Неизвестные изменяются на 0 или на 1 или что некоторые изменяются на 1 и другие на 0. Случайная перестановка. Это может быть просто, это просто, что я не очень функциональным с R.Перестановка значения другим
ответ
Попробуйте это:
camouf = c(1,NA,0,0,1,0,NA,NA,NA,0,1)
perm <- function(vec, chance = 0.5){
unknown <- which(is.na(camouf))
vec[unknown] <- sample(0:1, size=length(unknown),
prob = c(1-chance,chance), replace = TRUE)
return(vec)
}
perm(camouf) # do it once
replicate(50, perm(camouf)) # do it many times
Он определяет функцию perm
делать то, что вы называете переставлять вектор 0
и 1
и положить в случайном 0
или 1
в тех местах, где оригинал имел NA
. Вероятность 1
может быть задана с помощью аргумента chance =
.
Спасибо, что ответили. Но у меня есть значения в столбце базы данных. Должен ли я преобразовать его в вектор? И у меня нет NA, это на самом деле Unknown, поэтому я предполагаю, что в первой операции я должен заменить NA неизвестным правом? – Broccoli
Столбец в R всегда является одним видом данных. если некоторые строки имеют характер типа, например «Неизвестный», то другие значения в этом столбце не могут быть числовыми, но должны также иметь символ типа. 'NA' для« недоступно »- это особое значение в R, которое может быть частью столбца с числовым номером. Поэтому, читая данные в R, вы должны сделать shure, чтобы все «Неизвестные» значения стали NA. После чтения данных в R они образуют «data.frame», и каждый столбец в «data.frame» является вектором. Вот почему я продемонстрировал, как это сделать с помощью вектора. – Bernhard
Хорошо, теперь я понимаю. Фактически, R меняет свое Неизвестное значение на 3, когда я превращаю свою колонку в вектор. Как только я выполняю эту перестановку, как я могу проверить влияние каждой перестановки на мой glm, который является 'model1 = glm (Detection ~ Camouflage, data, family = binomial)? – Broccoli
- 1. значения GREP и перестановка файла
- 2. R: Перестановка 2 значения в вложенного списка
- 3. PHP значения Перестановка массива на основе состояния
- 4. значения массива Перестановка на «корневой уровень»
- 5. Перестановка значения полей в массиве структуры
- 6. Перестановка уникального значения ключа столбца последовательно
- 7. Перестановка перьев
- 8. Перестановка Пролог
- 9. vb .net перестановка строки. перестановка или комбинация?
- 10. получение значения атрибута другим
- 11. Перестановка S
- 12. перестановка массива
- 13. Динамическая перестановка
- 14. Python перестановка
- 15. Перестановка массив
- 16. Makefile перестановка
- 17. Перестановка покрытия
- 18. Перестановка вектора
- 19. Перестановка Javascript
- 20. Перестановка столбца
- 21. Рекурсивная перестановка
- 22. Перестановка массива
- 23. Перестановка файлов
- 24. Перестановка вектора
- 25. Перестановка ArrayList
- 26. Перестановка указатель в C
- 27. пользовательская перестановка python?
- 28. Удаление или перестановка указателя
- 29. Перестановка функция распределения Matlab
- 30. Перестановка алгоритма списка строк
гораздо проще следить за вопросом, если вы приводите примеры того, что у вас есть, желаемый результат и то, что вы пробовали – manotheshark
У меня на самом деле есть две колонки в базе данных: обнаружение и камуфляж. Я хочу посмотреть, обнаружена ли модель, когда она замаскирована, или нет. Однако иногда было неясно, было ли это обнаружено, поэтому я поставил Unknown в столбце «Обнаружение». Я хочу использовать это Неизвестное, чтобы увидеть, какие результаты я бы получил, если Неизвестный был фактически обнаружен (1) или не обнаружен (0). Надеюсь, я был чист. – Broccoli