我正在試圖爲一個允許用戶讀取不帶引號的數據的程序包製作一個函數。它幾乎和預期一樣,除了函數將3.30變成3.3,即使最終的輸出是字符。我如何讓我的函數讀入數字元素,但不能刪除尾部零。大圖片的想法是:不要在沒有引號的字符串中刪除零作爲參數
- 功能,而無需使用帶讀取元素標誌着
- 功能不會放棄什麼考慮R非顯著零
- 儘管元素可以看數字,我希望他們可以爲文字輸出元素
這裏有兩個企圖以及他們放出來(一個嘗試與substitute(...())
和其他與match.call(expand.dots = FALSE)
:
#attempt #1
fun <-
function(...){
substitute(...())
}
fun(3.30, 5.05)
#dropped zero on 3:30 (not what I want)
> fun(3.30, 5.05)
[1] "3.3" "5.05"
#attempt #2
fun <-
function(...){
x <- match.call(expand.dots = FALSE)
as.character(x[[2]])
}
fun(3.30, 5.05)
#again dropped zero on 3:30 (not what I want)
> fun(3.30, 5.05)
[1] "3.3" "5.05"
加上引號,它輸出我想要什麼,但這個失敗不必使用引號的目的:
fun('3.30', '5.05')
> fun('3.30', '5.05')
[1] "3.30" "5.05"
PS如果有人有這個線程更好的標題隨意編輯
賓果。這也是我能想到的,如果調用fun()延伸到兩行或更多行,如果其中一個字符參數包含一個逗號,或者如果另一個函數調用'fun()'或...仍然,非常好的答案! –
感謝您+1 –