Как преобразовать фрейм данных в классы spc с помощью пакета "zipfR"?
У меня есть data.frame, который представляет частоту частоты RT(ретвиты). У меня есть этот тип data.frame:
data.frame':368 obs.of 2 variables:
$ Var1: Factor w/ 368 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Freq: int 71482 16111 7720 4555 2949 2053 1620 1210 978 775 ...
Я хочу использовать следующую команду в пакете "zipfR":
gigp_pos <- lnre("gigp",cost="chisq",method="NLM",rt_pos.spc)
тогда я должен преобразовать этот фрейм данных в объект spc. Этот тип объекта должен выражать некоторые переменные:m,v,N,Vm.
Я кладу:Vm<- frq_frq_pos$Freq
m<- frq_frq_pos$Var1
но я не понимаю разницу между переменной V и переменной N. Можете ли вы мне помочь?
3 ответа
N - размер выборки (количество токенов), V - его словарь (количество типов). Если по каким-либо причинам вы хотите избежать создания объекта spc (см. Ниже), вы можете легко получить N и V.
N <- sum(frq_frq_pos$Freq * frq_frq_pos$Var1)
V <- sum(frq_frq_pos$Freq)
Лучше использовать spc
функция
your.spc <- spc(Vm=frq_frq_pos$Freq, m=frq_frq_pos$Var1)
тогда вам не нужно будет вычислять N и V, потому что они уже есть в объекте spc:
N(your.spc)
V(your.spc)
НО, если у вас есть доступ к необработанным данным (я полагаю, это какой-то текст?), То самый простой способ получить объект spc - это функция text2spc.fnc
(из пакета languageR):
your.spc <- text2spc.fnc(your.text)
Тогда вы можете позвонить:
your.spc$Vm
your.spc$m
N(your.spc)
V(your.spc)
Я также новый пользователь zipfR, но я верю, что вы можете использовать
spc(Vm=frq_frq_pos$Freq, m=frq_frq_pos$Var1)
Может быть, вы также захотите unfactor Var1 - почему это так или иначе фактор?
- V = количество уникальных терминов (называемых "типы" в пакете); = Сумма (Vm)
- N = общее количество наблюдений / происшествий (называемых "жетонами" в пакете); = Сумма (Vm* м)
- '
spc
'обозначает спектр.
rt_pos = your data.frame
Vm = rt_pos$Freq
m = 1:length(Vm)
rt_pos.spc = spc(Vm, m)
Вы не можете использовать? SPC, чтобы увидеть детали