loglm()
работает со специфической формой исходных данных — массивом (на языке R — array), отличающимся от обычной таблицы. Задача преобразовать обычную таблицу (на языке R — data.frame) в array оказалась не вполне тривиальной. 1) импортируем таблицу в R так, чтобы стоящие в ней NA были значимой категорией:
> lxx=read.csv('путь к файлу',header=T,na.strings=' ')
2) делаем, как указано в http://r-statistics.livejournal.com/5467.html, но с соответствующими смысловыми заменами:
> names <- list(age=c('15-19','20-29','30-39','40-49','50.and.older','NA'),
family.status.legal=c('single','married','divorsed','NA'),
family.status.actual=c('alone','parent','with.man','with.woman','NA'),
clubA=c(0,1,'NA'),
partiesA=c(0,1,'NA'),
cruisingA=c(0,1,'NA'),
internet=c(0,1,'NA'),
newspaper=c(0,1,'NA'),
teletext=c(0,1,'NA'),
on.street=c(0,1,'NA'))
Таким образом, вначале мы создаём сам массив, в котором указываем все переменные и те значения, которые эти переменные могут принимать. Далее нужно, собственно, импортировать в созданный массив имеющиеся у нас в таблице данные:
> lx=array(c(age=lxx$age,
family.status.legal=lxx$family.status.legal,
family.status.actual=lxx$family.status.actual,
clubA=lxx$clubA,
partiesA=lxx$partiesA,
cruisingA=lxx$cruisingA,
internet=lxx$internet,
newspaper=lxx$newspaper,
teletext=lxx$teletext,
on.street=lxx$on.street),dim=c(6,4,5,3,3,3,3,3,3,3),dimnames=names)
Немає коментарів:
Дописати коментар