2014-10-30 100 views
0

我有一個data.frame,表示RT的頻率頻率(轉推)。我有這種類型的data.frame:如何將數據框轉換爲包「zipfR」的spc類?

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」 包使用以下COMAND:

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

我不熟悉'zipfR'包,但是基於'lnre'我無法預料你在做什麼?請幫忙。你需要轉換哪些數據?什麼是變量'm','v','N'和'Vm'?你想使用'lnre.spc'嗎? – 2014-11-01 08:31:09

+0

@RomanLuštrik我必須將所有數據集轉換爲spc對象,因爲我需要使用lnre命令來創建模型。然後我看到命令?如果m是頻率類別m的整數向量,Vm是相應類別尺寸Vm的向量,最後N,V是總樣本量N和頻譜詞彙量V。我不明白V和N之間的區別。 – 2014-11-03 10:08:34

回答

0

我zipfR的新用戶,以及,但我相信你可以使用

spc(Vm=frq_frq_pos$Freq, m=frq_frq_pos$Var1) 

也許你也想unfactor VAR1 - 爲什麼它反正一個因素?

  • V =唯一條款的數量(在包中稱爲'類型'); =總和(Vm)
  • N =觀察/發生的總數(在包中稱爲「令牌」); =總和(Vm * m)
  • 'spc'代表光譜。
+0

感謝您的回覆。現在它工作。非常感謝你 – 2014-12-02 17:03:55

0
rt_pos = your data.frame 
Vm = rt_pos$Freq 
m = 1:length(Vm) 
rt_pos.spc = spc(Vm, m) 

你不能使用?SPC以查看詳情

+1

flguo,這個答案看起來像需要更多的解釋纔能有所幫助。 – Mars 2015-01-28 04:51:48

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) 

BUT ,如果你有訪問原始數據(我猜它是一些文本?),那麼獲取spc對象的最簡單方法是text2spc.fnc(來自languageR軟件包):

your.spc <- text2spc.fnc(your.text) 

然後,您可以撥打:

your.spc$Vm 
your.spc$m 
N(your.spc) 
V(your.spc)