R语言如何修复:NAs Introduced by Coercion
在这篇文章中,我们将看到如何在R编程语言中修复:由coercion引入的NA。
产生的错误
由于用另一个 “长度为零 “的值替换向量中的值,产生了 “Coercion引入的NAs “错误
# Creating character vector
Vec <- c('12', '12', NA, '34', 'Geeks')
# convert to numeric
Vec_num <- as.numeric(Vec)
# display vector
print(Vec_num)
输出
Warning message in eval(expr, envir, enclos):
"NAs introduced by coercion"
[1] 12 12 NA 34 NA
方法1:使用gsub()方法
这里我们将使用gsub()方法将非数字值替换为0。R语言中的gsub()函数用于替换字符串中所有匹配的模式。
语法: gsub(pattern, replacement, string, ignore.case=TRUE/FALSE)
参数
- pattern:要匹配的字符串
- 替换:用于替换的字符串
- string。字符串或字符串向量
- ignore.case:布尔值,用于区分大小写的替换
# Creating character vector
Vec <- c('12', '12', NA, '34', 'Geeks')
# replacing non-numeric values with 0
Vec <- gsub("Geeks", "0", Vec)
# convert to numeric
Vec_num <- as.numeric(Vec)
# display vector
print(Vec_num)
输出
[1] 12 12 NA 34 0
方法2:使用suppressWarnings()方法
这里我们将使用suppressWarnings()方法,它用于抑制警告。
语法: suppressWarnings(arg)
其中arg可以是警告
# Creating character vector
Vec <- c('12', '12', NA, '34', 'Geeks')
# convert to numeric
suppressWarnings(Vec_num <- as.numeric(Vec))
# display vector
print(Vec_num)
输出
[1] 12 12 NA 34 NA