从data.frame列中的字符串检索数字
我有一个特定文件格式的4列:从data.frame列中的字符串检索数字,r,dataframe,data-retrieval,reformat,R,Dataframe,Data Retrieval,Reformat,我有一个特定文件格式的4列: =1 =1 =1 =1 4G 4B 4d 2g 4E 8cL 4e . . 8BJ . . 4F# 4A 4d 4dd =2 =2 =2 =2 4G 4G 2d 4.b 4D 4F# . . . . . 8a 4E 4G 4B 4g 我想将其转换为以下data.frame: 1 1 1 1 4 4 4 2 4 8 4 . . 8
=1 =1 =1 =1
4G 4B 4d 2g
4E 8cL 4e .
. 8BJ . .
4F# 4A 4d 4dd
=2 =2 =2 =2
4G 4G 2d 4.b
4D 4F# . .
. . . 8a
4E 4G 4B 4g
我想将其转换为以下data.frame:
1 1 1 1
4 4 4 2
4 8 4 .
. 8 . .
4 4 4 4
2 2 2 2
4 4 2 4
4 4 . .
. . . 8
4 4 4 4
我想有一个图书馆可以做这类事情。我已经尝试过为它创建一个函数,但没有正常工作。任何贡献都将获得奖励。我们可以使用
readr
软件包中的parse_number
library(readr)
library(dplyr)
df %>%
mutate_all(parse_number)
# V1 V2 V3 V4
#1 1 1 1 1
#2 4 4 4 2
#3 4 8 4 NA
#4 NA 8 NA NA
#5 4 4 4 4
#6 2 2 2 2
#7 4 4 2 4
#8 4 4 NA NA
#9 NA NA NA 8
#10 4 4 4 4
我们还可以使用
lappy
将函数应用于所有列
df[] <- lapply(df, parse_number)
df[]我们可以使用readr
包中的parse_number
library(readr)
library(dplyr)
df %>%
mutate_all(parse_number)
# V1 V2 V3 V4
#1 1 1 1 1
#2 4 4 4 2
#3 4 8 4 NA
#4 NA 8 NA NA
#5 4 4 4 4
#6 2 2 2 2
#7 4 4 2 4
#8 4 4 NA NA
#9 NA NA NA 8
#10 4 4 4 4
我们还可以使用lappy
将函数应用于所有列
df[] <- lapply(df, parse_number)
df[]这看起来像是一个超级简单的解决方案。对于所有未将data.frame转换为字符类而尝试此方法的用户,请尝试:df[]这看起来像是一个超级简单的解决方案。对于所有未将data.frame转换为字符类而尝试此方法的用户,请尝试:df[]