2010-03-14 101 views
1

我注意到使用findFn函數(函數庫sos)時出現了一個奇怪的故障,我找不到源代碼。雖然它在我的Windows XP電腦上運行良好,但它不在我的Vista上。奇怪的findFn故障

library (sos) 

findFn("randomization test") 
# in both finds 72 results 

findFn("{randomization test}") 
# In XP finds 19 or about so, but in Vista whenever I use {} and more than one word inside, 
# I keep getting the following: 

found 0 matches 
x has zero rows; nothing to display. 
Warning message: 
In findFn("{randomization test}") : 
    HIT not found in HTML; processing one page only. 

R ver = 2.10.1和軟件包已更新。 問題可能出在哪裏?

獎勵:由於這是顯而易見的,我一直在尋找的功能有關tests for randomized experiments

+0

您使用的是相同的R-實例?我的意思是*精確*相同,在兩臺計算機之間複製而不用更改任何內容。 – Marek 2010-03-15 09:37:57

+0

不,他們是獨立安裝。我不記得它是否在早些時候工作,或者它從未正常工作。 – 2010-03-15 11:04:14

+0

在unix(相同的R版本)中,我得到了與Vista相同的結果 – 2010-03-15 11:48:56

回答

5

SOS的源代碼包,findFn.R,行80,我發現這個錯誤

if (substr(string, 1, 1) != "{") 
    string <- gsub(" ", "+", string) 

這個「如果」是錯誤的,用!=而不是==,因此該空間不會被轉換爲+。快速的解決辦法是使用「+」語法自己

這樣:

> findFn("{randomization+test}") 
found 19 matches 
+1

如果您將其提交給軟件包作者,這將是非常好的。 – Shane 2010-03-15 16:19:08

+0

完成後,我通過電子郵件向作者發送了此頁的鏈接。希望我們將另一個R程序員添加到StackOverflow的社區中:-) – 2010-03-15 17:01:00

+2

但是爲什麼它在Xp上工作並且不在Vista上? – Marek 2010-03-15 17:07:10

相關問題