当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R readr melt_table 返回空格分隔文件中每个标记的熔化数据


[Superseded]该函数已在 readr 中被取代并移至熔化包.

对于某些非矩形数据格式,将数据解析为融合格式(其中每行代表一个标记)可能很有用。

melt_table()melt_table2() 旨在读取每列由一列(或多列)空格分隔的文本数据类型。

melt_table2() 允许列之间有任意数量的空白字符,并且行可以有不同的长度。

melt_table() 更严格,每一行的长度必须相同,并且每行中每个字段的位置相同。它首先找到空列,然后像固定宽度文件一样进行解析。

用法

melt_table(
  file,
  locale = default_locale(),
  na = "NA",
  skip = 0,
  n_max = Inf,
  guess_max = min(n_max, 1000),
  progress = show_progress(),
  comment = "",
  skip_empty_rows = FALSE
)

melt_table2(
  file,
  locale = default_locale(),
  na = "NA",
  skip = 0,
  n_max = Inf,
  progress = show_progress(),
  comment = "",
  skip_empty_rows = FALSE
)

参数

file

文件路径、连接或文字数据(单个字符串或原始向量)。

.gz.bz2.xz.zip 结尾的文件将自动解压缩。将自动下载以 http://https://ftp://ftps:// 开头的文件。远程gz文件也可以自动下载并解压。

文字数据对于示例和测试最有用。要被识别为文字数据,输入必须用 I() 包装,是包含至少一个换行符的字符串,或者是至少包含一个带有换行符的字符串的向量。

使用值 clipboard() 将从系统剪贴板读取。

locale

区域设置控制默认值因地而异。默认区域设置为 US-centric(如 R),但您可以使用 locale() 创建自己的区域设置来控制默认时区、编码、小数标记、大标记和日/月名称等内容。

na

要解释为缺失值的字符串的字符向量。将此选项设置为 character() 以指示没有缺失值。

skip

读取数据之前要跳过的行数。

n_max

读取的最大行数。

guess_max

用于猜测列类型的最大行数。永远不会使用超过读取的行数。有关更多详细信息,请参阅vignette("column-types", package = "readr")

progress

显示进度条?默认情况下,它只会在交互式会话中显示,而不会在编织文档时显示。可以通过将选项 readr.show_progress 设置为 FALSE 来禁用自动进度条。

comment

用于标识评论的字符串。注释字符之后的任何文本都将被默默忽略。

skip_empty_rows

空白行应该被完全忽略吗?即,如果此选项是TRUE,则根本不会表示空白行。如果是FALSE,则它们将由所有列中的NA 值表示。

也可以看看

melt_fwf() 融合固定宽度文件,其中每列不由空格分隔。 melt_fwf() 对于读取非标准格式的表格数据也很有用。 read_table() 是从空格分隔的文件中读取表格数据的传统方法。

例子

fwf <- readr_example("fwf-sample.txt")
writeLines(read_lines(fwf))
#> John Smith          WA        418-Y11-4111
#> Mary Hartford       CA        319-Z19-4341
#> Evan Nolan          IL        219-532-c301
melt_table(fwf)
#> Warning: `melt_table()` was deprecated in readr 2.0.0.
#> ℹ Please use `meltr::melt_table()` instead
#> # A tibble: 12 × 4
#>      row   col data_type value       
#>    <dbl> <dbl> <chr>     <chr>       
#>  1     1     1 character John        
#>  2     1     2 character Smith       
#>  3     1     3 character WA          
#>  4     1     4 character 418-Y11-4111
#>  5     2     1 character Mary        
#>  6     2     2 character Hartford    
#>  7     2     3 character CA          
#>  8     2     4 character 319-Z19-4341
#>  9     3     1 character Evan        
#> 10     3     2 character Nolan       
#> 11     3     3 character IL          
#> 12     3     4 character 219-532-c301

ws <- readr_example("whitespace-sample.txt")
writeLines(read_lines(ws))
#> first last state phone
#> John Smith WA 418-Y11-4111
#> Mary Hartford CA 319-Z19-4341
#> Evan Nolan IL 219-532-c301
melt_table2(ws)
#> Warning: `melt_table2()` was deprecated in readr 2.0.0.
#> ℹ Please use `meltr::melt_table2()` instead
#> # A tibble: 16 × 4
#>      row   col data_type value       
#>    <dbl> <dbl> <chr>     <chr>       
#>  1     1     1 character first       
#>  2     1     2 character last        
#>  3     1     3 character state       
#>  4     1     4 character phone       
#>  5     2     1 character John        
#>  6     2     2 character Smith       
#>  7     2     3 character WA          
#>  8     2     4 character 418-Y11-4111
#>  9     3     1 character Mary        
#> 10     3     2 character Hartford    
#> 11     3     3 character CA          
#> 12     3     4 character 319-Z19-4341
#> 13     4     1 character Evan        
#> 14     4     2 character Nolan       
#> 15     4     3 character IL          
#> 16     4     4 character 219-532-c301
源代码:R/melt_table.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Return melted data for each token in a whitespace-separated file。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。