У меня большой набор данных из 1000 строк и 10000 столбцов. Я приведу короткий пример со следующим кодом:
V1 = c(1,2,1,1,NA,1,0,2,2,1,0)
V2 = c(0,2,NA,2,1,2,0,1,NA,0,0)
V3 = c(3,1,1,1,NA,1,0,2,2,1,2)
V4 = c(1,2,NA,1,0,2,0,2,NA,2,0)
datos =data.frame(cbind(V1,V2,V3,V4))
Каждый из моих столбцов имеет значения = "0", "1" или "2". Мне нужно получить частоту «0» и «1» в каждом столбце. Обратите внимание, что набор данных также имеет значения «NA», которые мне не нужно принимать во внимание для оценки частот.
Например, для V1 частота «0» равна = 2/10 = 0,2, а частота «1» равна = 5/10 = 0,5. Таким образом, сумма составляет 0,2 + 0,5 = 0,7.
Я думаю, что apply(datos, 2, x)
может помочь, но я не уверен, как может быть function (x)
.
Кто-нибудь знает способ решить эту проблему?
Спасибо