在 R 上使用 gsub 时强制转换?不知道为什么会这样
Forced conversion when using gsub on R? not sure why this is happening
只是想知道是否有人可以澄清以下内容。所以
> sample<-"10B"
> "10" * 10000
#字符 * 数字,无效
Error in "10" * 10000 : non-numeric argument to binary operator
> "10" * "10000000"
#character * 字符,无效
Error in "10" * "10000000" : non-numeric argument to binary operator
> gsub("B",1000000,sample)
#由于某些原因,当用数字替换字符时,字符中出现数字*数字。
[1] "101e+06"
有人可以帮我理解为什么会这样吗?
gsub
将替换值强制转换为字符。来自 ?gsub
:
replacement - a replacement for matched pattern in sub and gsub. Coerced to character if possible.
result <- gsub("B",1000000,sample)
result
#[1] "101000000"
因此数字 1000000
在替换时被更改为字符并且 class(result)
是字符。
只是想知道是否有人可以澄清以下内容。所以
> sample<-"10B"
> "10" * 10000
#字符 * 数字,无效
Error in "10" * 10000 : non-numeric argument to binary operator
> "10" * "10000000"
#character * 字符,无效
Error in "10" * "10000000" : non-numeric argument to binary operator
> gsub("B",1000000,sample)
#由于某些原因,当用数字替换字符时,字符中出现数字*数字。
[1] "101e+06"
有人可以帮我理解为什么会这样吗?
gsub
将替换值强制转换为字符。来自 ?gsub
:
replacement - a replacement for matched pattern in sub and gsub. Coerced to character if possible.
result <- gsub("B",1000000,sample)
result
#[1] "101000000"
因此数字 1000000
在替换时被更改为字符并且 class(result)
是字符。