我想像這樣定義 ± 運算子:
`±` <- function(a,b){
return (c(a*b, a-b))
}
但問題是我在運行時收到此錯誤1 ± 2
Error: unexpected input in "1 ±"
如果我使用不同的字符,它會起作用。
`% -%` <- function(a,b){
return (c(a b, a-b))
}
跑步1 % -% 2給了我[1] 3 -1這是正確的。
是因為操作員是 unicode 字符嗎?但我可以很好地定義和使用 unicode 變數。
編輯:
我找到了這個:
您可以定義自己的二元運算子。用戶定義的二元運算子由兩個“%”字符之間的字串組成。
在阿德勒,約瑟夫(2010 年)。簡而言之,R。奧萊利媒體公司
所以我猜%周圍的算子是必須的。
uj5u.com熱心網友回復:
運營商沒有什么特別的±,你可以做
`±` <- function(a,b){
return (c(a*b, a-b))
}
`±`(1,2)
#[1] 2 -1
或使用%符號:
`%±%` <- function(a,b){
return (c(a*b, a-b))
}
1 %±% 2
#[1] 2 -1
@Atreyagaurav 在評論中指出,可以重新定義有效的運算子標記(例如 or )。-但是,此方法不允許定義新的運算子。此類運算子的完整串列在
R 語言定義第 10.3.6 節中給出。
第 10.3.4 節指出附加的特殊運算子定義為以%符號開頭和結尾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/446295.html
標籤:r
上一篇:將`as.character()`函式應用于資料幀串列
下一篇:動態合并帶后綴的xts物件
