函数将字符串列循环为R中的数字

时间:2018-02-01 19:30:23

标签: r

我正在尝试将数据帧的几列从char转换为数字。

例:

index.html

我的数据框有从a到z的列,我这样做:

transform_function <- function(dataframe, vector){
  for (i in vector){
    dataframe[[i]] <- as.numeric(dataframe[[i]])
  }
  return(dataframe)
}

获取以下错误:

vector <- c("a", "c", "d", "h")

transform_function(dataframe, vector)

3 个答案:

答案 0 :(得分:1)

尝试使用apply迭代列而不是编写自己的函数。示例解决方案:

df <- data.frame(c("a", "c", "d", "h"),c(1,2,3,4))

df<-apply(df,2,as.numeric)
df

答案 1 :(得分:1)

您可以使用dplyr::mutate_at

library(dplyr)
to_change <- c('a', 'c')

df <- data.frame(a = as.character(1:10), b = as.character(11:20), c = as.character(21:30))
df %>% mutate_at(to_change, as.numeric)

答案 2 :(得分:0)

最有效的方式:

$("#dropdown").on("change",function){
  <?php
   /*
      print all poll answers here 
   */
?>;
}