如何使用didly等Tidyverse工具跳过顶部标题和底部标题?

hhh*_*hhh 3 r dplyr tidyverse

我想学习在tidyverse工具中跳过顶部标题和底部标题.

aaaaaaaaaaaaaaaaaaa aaaaaaaaaa aaaaaaa aaaaaaaaaaaa aaaaa aaaaaaaaaaaaaaaaa;;;
aaaaaaaaaaaaaaa;;;
;aaaaa(%);;
;aaaaaaaaaa;aaaaaaaaaaaaa;

 aa/33;3.3;3.3;
 a/33;3.3;3.3;
aa/33;3.3;33.3;
 a/33;3.3;33.3;
 aa/33;3.3;33.3;
 a/33;3.3;33.3;
aaaaaaa aaaaaaaa aa
aaaaaaa: %
aaaaa: aaaaaaaaa aaaaaa aaaaaaa / aaaaaaa aaaaaaaa aa;;;
Run Code Online (Sandbox Code Playgroud)

开头有5行长的顶部标题,而末尾有3行长的底部标题.

如何在R中使用Tidyverse工具跳过它们?

akr*_*run 5

我们可以用 read_delim

library(readr)
df1 <- read_delim("fileN.csv", skip=5, n_max = 6, delim= ";", col_names = FALSE)
Run Code Online (Sandbox Code Playgroud)

最后还有一个额外;的.因此,要么可以提前删除,要么之后删除NA列

Filter(function(x) !all(is.na(x)), df1)
# A tibble: 6 x 3
#     X1    X2    X3
#   <chr> <dbl> <dbl>
#1  aa/33   3.3   3.3
#2   a/33   3.3   3.3
#3  aa/33   3.3  33.3
#4   a/33   3.3  33.3
#5  aa/33   3.3  33.3
#6   a/33   3.3  33.3
Run Code Online (Sandbox Code Playgroud)

为了使它更具动态性,我们可以指定n_maxfromcount.fields

df1 <- read_delim("fileN.csv", skip=5, n_max = length(count.fields("fileN.csv"))-(5+2),
                           delim= ";", col_names = FALSE)
Run Code Online (Sandbox Code Playgroud)

  • 我认为`Filter(function(x)all(!is.na(x)),df1)`应该是`Filter(function(x)!all(is.na(x)),df1)`..? (2认同)