问题描述
我最近一直在使用 Google 趋势数据,并且遇到了导致这些值变成字符的非整数值。这不是问题,因为您可以稍后将它们转换为整数。但是,我需要将某些字符(例如“
i=1
for (i in 1:nrow(result)) {
result[[i]]$hits[result[[i]]$hits=="<1"] <- "0"
}
但是,当我为“
i=1
for (i in 1:nrow(result)) {
result[[i]]$hits[result[[i]]$hits=="<Â 1"] <- "0"
}
Vañues after I apply the loops
如上所述,然后我将所有值更改为整数以进行计算,因此我需要所有“
解决方法
稍微修改 as.integer
函数就足够了:
sample_string <- c("1","A","3","B")
to_int_or_zero <- function(x) {
res <- as.integer(x)
ifelse(is.na(res),res)
}
to_int_or_zero(sample_string)
以后请考虑提供由 dput
或手动生成的示例对象,因为这样可以更轻松地提供解决方案。在对象的上下文中,您将希望将函数应用于表示元素的向量,因此很可能是 to_int_or_zero(<your hits object hits>)
。您可以使用 apply
系列迭代多个点击对象或继续您的列表。
将值更改为数字;不能转换的字符将改为NA。将所有 NA 更改为 0。