首页 文章

从data.frame的列中的字符串中检索数字

提问于
浏览
0

我有来自特定文件格式的这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   .   .
    4   4   4   4
    2   2   2   2
    4   4   2   4
    4   4   .   .
    .   .   .   8
    4   4   4   4

我想有一个库可以做这类事情 . 我已经尝试为此创建一个函数但是无法正常工作 . 任何捐款都会得到回报 .

1 回答

  • 2

    我们可以使用 parse_number 来自 readr 包 .

    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
    

    我们也可以使用 lapply 将函数应用于所有列

    df[] <- lapply(df, parse_number)
    

相关问题