如何在R中将文本string导入为数字?

我已经用Excel创build了一个电子表格,以便于以后使用。 现在我想评估文本string。 在Excel中做它听起来比在R中做得更难。因此,我想知道如何在R中导入和评估。而不是我想要的,我得到如下的文本string。

  Air.Force.Falcons Akron.Zips Alabama.Crimson.Tide 1 -.8*2-(1-.8)*1 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 2 -.5*0+(0)*(2*.8-1)/2 -.8*2-(1-.8)*1 -.5*0+(0)*(2*.8-1)/2 3 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 -.8*0-(1-.8)*2 4 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 5 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 6 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 7 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 -.5*0+(0)*(2*.8-1)/2 

如何将它们导入为数字或在事实之后将它们评估为数字? 我试过as.numericcolClasses="numeric" 。 要重新创build这个,只需使用像=concatenate("-5*3")这样的公式来制作一个电子表格。 我如何扭转这种情况? 谢谢。

链接到dput(head(week15_90))输出dput(head(week15_90)) https://docs.google.com/document/d/1xCVjSff6f055PX8qEnVLh49V6TYXFQeZZzc3bofG5z4/edit?usp=sharing

 data.frame(lapply(df, function(y) sapply(y, function(x) eval(parse(text=x))))) 

应该这样做。

确保数据框df的元素是string而不是因素 – 如果它们是因素,则必须将其转换。

更快地将你的数据(作为一个向量),并应用经典的eval(parse(text=))

 matrix(lapply(unlist(dat), function(y)eval(parse(text=y))),ncol=ncol(dat)) 

例:

 dat <- data.frame( x=rep("-x+1",2) ,y =rep("x^2",2),stringsAsFactors=F) > dat xy 1 -x+1 x^2 2 -x+1 x^2 x <- 0.2 matrix(lapply(unlist(dat),function(y) eval(parse(text=y))),ncol=ncol(dat)) [,1] [,2] [1,] 0.8 0.04 [2,] 0.8 0.04