2017-09-13 70 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)'..? –