繁体   English   中英

如何将包含诸如“3.5/7”等因子的向量转换为整数向量

[英]how to convert a vector containing factors such as "3.5/7" to a vector of integers

嘿伙计们,我正在尝试将包含下图所示所有因子值的向量转换为整数向量:

矢量图像

我试过data$rate=as.numeric(data$rate)这给了我所有评级的频率为 num,而data$rate=as.numeric(as.character(data$rate))给了我所有的 NA值。

我想转换为普通的 int 或 num 谢谢。

你在寻找类似这个功能的东西吗?

factor2num <- function(x, parse = FALSE){
  s <- as.character(x)
  if(parse) eval(parse(text = s)) else as.numeric(s)
}

factor2num(factor("3"))    
#[1] 3

factor2num(factor("3.9/5"), TRUE)
# [1] 0.78
data$rate <- as.numeric(sub("\\/5", "", data$rate))

这有效地用“”替换了“/5”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM