2
我是R的初學者。努力解決以下問題。在R中的矢量的平方根
創建一個新的R函數getRoot(),它將提供任何 數字的平方根。如果數字是負數,則返回'不可能'。 演示您的功能,使其產生以下輸出。
getRoot(C(4,-4,9,-16))= 2 '不可能' 3 '不可能'
我寫以下代碼:
"getRoot" <- function(x){
res <- as.vector(x)
if(res < 0) {
cat("not Possible")
}else return(sqrt(res))
}
getRoot(c(4,-4,9,-16))
[1] 2 NaN 3 NaN
什麼可能的解決方案呢?謝謝。
我覺得你的老師對你玩的很詭異。在R中,矢量不能是數字和字符類型的混合。或者......也許你需要一位新老師? –
這對R函數來說是一個非常糟糕的要求。該函數的名字很可怕,R中已經存在的函數被忽略,並且它返回一個「字符」向量是非常可怕的。不要做這個運動。你不會學到任何東西。 – nicola
將你的if-else改爲ifelse(res <0,「不可能」,sqrt(res))'會「起作用」 – rawr