我有一个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之间的区别。你能帮助我吗?
答案 0 :(得分:0)
我也是zipfR的新用户,但我相信你可以使用
spc(Vm=frq_frq_pos$Freq, m=frq_frq_pos$Var1)
也许你也想要解开Var1 - 为什么它仍然是一个因素呢?
spc
'代表频谱。答案 1 :(得分:0)
rt_pos = your data.frame
Vm = rt_pos$Freq
m = 1:length(Vm)
rt_pos.spc = spc(Vm, m)
您无法使用?spc查看详细信息
答案 2 :(得分:0)
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)