如何在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.numeric
和colClasses="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