倒數的帕齊
回答
運算符的特殊patsy含義在嵌入函數調用中關閉;所以,如果你寫X + 1/x
然後帕齊解釋,由於特殊的帕齊+
和/
運營商,但如果你喜歡寫東西X + sin(1/X)
,然後帕齊繼續解釋+
作爲一種特殊的帕齊運營商,但整個sin(1/X)
表達被傳遞到Python評估,Python會將/
評估爲常規部門。
所以這很好,如果我們想計算sin(1/X)
。但我們不(我們爲什麼?)。我們只是想要1/X
。那麼我們該怎麼做呢?
好了,我們可能會非常棘手:我們需要一個函數調用來欺騙懦夫的解析器到無視/
,並把它給Python的 - 但沒有什麼,指出函數必須做什麼。我們可以只定義一個識別功能:
def identity(value):
return value
,然後用一個公式像X + identity(1/X)
。
事實上,這個技巧非常方便,以至於patsy已經爲您預定義了一個函數,並將其作爲built-in作爲I(...)
提供。一般來說,你可以將I(...)
想象成一種引用操作符 - 這是一種說「嘿帕西,請不要試圖解釋這個區域中的任何東西,只是傳遞給Python kthx」。
因此,要回答你原來的問題:嘗試寫dmatrix("X + I(1/X)", data)
(下一個問題:爲什麼用功能I
一切這種怪異的破解這個問題的答案是,這爲R如何在30年前做了,我想不出有什麼更好的事情值得打破兼容性。)
我知道在6個月後,我從寫這個程序的人那裏得到了一個答案,我問了一個晦澀難懂的問題。 –
- 1. 倒數倒數
- 2. 阿帕奇齊柏林火星翻譯
- 3. C#。淨倒計時對齊問題
- 4. 循環倒數倒計時
- 5. SQL查詢:倒數第二倒數第三倒數(微軟SQL)
- 6. 阿帕奇齊柏林Postgres的空指針異常
- 7. 從60開始倒數倒數5
- 8. 精煉合併 - 排序倒數倒數
- 9. Hadoop的倒指數
- 10. 計算倒數的數目
- 11. 倒數兩位數
- 12. 倒車整數
- 13. 倒數樓層
- 14. 倒計數
- 15. Android textwatcher倒數
- 16. 時區倒數
- 17. Javascript Cookie - 倒數
- 18. 數字倒退?
- 19. 算法倒數
- 20. 倒參數(
- 21. 倒計數
- 22. 數據導出爲CSV給網絡錯誤 - 阿帕奇齊柏林
- 23. 阿帕奇齊柏林安裝咕嚕生成錯誤
- 24. 阿帕奇齊柏林在Windows 10 ...不工作
- 25. 試圖做一個倒數倒計時
- 26. 倒計時 - iPhone倒數計時器
- 27. 修復倒計時倒數計時器
- 28. 我的櫃檯倒數而不是倒數
- 29. 簡單的倒數的Python
- 30. 的Javascript倒退的整數
是否(1/X)'也不允許? –
不是,1是爲常量保留的。 –
另外,'/'是在patsy中定義的,它會計算'1 + 1:X'。 –