2017-09-13 14 views
3

私はぴったりのツールでトップヘッダーとボトムヘッダーをスキップすることを学びたい。dplyrなどの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;;; 

先頭に5行の長いトップヘッダーがあり、最後に3行長いボトムヘッダーがあります。

RのTidyverseツールを使用してスキップするにはどうすればよいですか?

+0

からn_maxを指定することができ、ファイルの種類は何ですか? – akrun

+0

@akrun csvです。 (df1) 'は' 'Filter(function(x)!all(is.na(x))、df1)'でなければなりません。 – 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 

はそれがよりダイナミックにするために、我々はcount.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)」と思っていますが、これは '' df1 < - read_excel(yourfile.xlsx "、skip = 5、n_max = 6)' –

関連する問題