更改 R 中的字符Google 趋势数据

问题描述

我最近一直在使用 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。