维基百科导入表之后,我有以下形式的值的列表:我可以在数据框的每个元素上使用gsub()吗?
> tbl[2:6]
$`Internet
Explorer`
[1] "30.71%" "30.78%" "31.23%" "32.08%" "32.70%" "32.85%" "32.04%" "32.31%" "32.12%" "34.07%" "34.81%"
[12] "35.75%" "37.45%" "38.65%" "40.63%" "40.18%" "41.66%" "41.89%" "42.45%" "43.58%" "43.87%" "44.52%"
$Chrome
[1] "36.52%" "36.42%" "35.72%" "34.77%" "34.21%" "33.59%" "33.81%" "32.76%" "32.43%" "31.23%" "30.87%"
[12] "29.84%" "28.40%" "27.27%" "25.69%" "25.00%" "23.61%" "23.16%" "22.14%" "20.65%" "19.36%" "18.29%"
我试图摆脱的百分比符号,以将数据转换成数字形式。
有没有更快的方法来清理这些数据比去矢量化?我当前的代码如下:
data <- lapply(tbl[2:6], FUN = function(x) as.numeric(gsub("%", "", x)))
数据最终成为一个数据帧,但我不能让gsub
跨数据帧中的所有元素正常工作。 有没有办法让gsub()数据框的每个元素?
The code for the project is online, with results.在此先感谢!
这更可能只是一个列表而不是数据框。并且... lapply也将使用数据框,因为它们实际上是具有特殊属性的列表。 – 2013-02-14 10:52:31
这是一个列表。但'gsub'不工作,因为我需要它('lapply'工作正常)。 – 2013-02-14 10:55:46
因为data.frames是特殊的列表,你有一个列表测试方法,这几乎肯定会奏效:'dfrm < - as.data.frame(lapply(tbl [2:6],FUN = function(x)as .numeric(gsub(“%”,“”,x))))' – 2013-02-14 11:42:04