2017-09-13 78 views
3

我想学习跳过顶部标题和底部标题在Tidyverse工具。如何使用Tidyverse工具(如dplyr)跳过顶部标题和底部标题?

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;;; 

在开始处有5行长的顶部标题,而结尾有3行长的底部标题。

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

+0

什么是文件类型?如果是excel,那么'df1 < - read_excel(yourfile.xlsx“,skip = 5,n_max = 6)' – akrun

+0

@akrun csv其中分隔符是分号';' – hhh

回答

5

我们可以使用read_delim

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

有一个最后的额外;。所以,要么可能提前移走或删除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 

为了使它更有活力,我们可以指定n_maxcount.fields

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

我想'Filter(function(x)all (!is.na(x)),df1)'应该是'Filter(function(x)!all(is.na(x)),df1)'..? –

相关问题