read_excel
Excelファイルをインポートするために、スピードとシンプルさのために使用しています。
残念ながら、データ セットから不要な列を選択して除外する機能はまだありません。労力を節約するために、このような列"x"
には引数を付けて名前を付けています。これは、、、などcol_names
を追跡しようとするよりも簡単です。x1
x2
次に、可能であればその場でそのような列を除外して、コピーの余分なステップを回避したいので、疑似コードで:
read_excel("data.xlsx", col_names = c("x", "keep", "x"))[ , !"x"]
readxl
説明のために、パッケージに含まれているサンプル データ セットを使用できます。
library(readxl)
DF <- read_excel(system.file("extdata/datasets.xlsx", package = "readxl"),
col_names = c("x", "x", "length", "width", "x"), skip = 1L)
私が見てきたアプローチは、その場で正確に機能するとはDF
限りません。
DF <- DF[ , -grep("^x$", names(DF))]
DF
これは機能しますが、保存してから上書きすることでコピーを作成する必要があります。ab initioを適切read_excel
に割り当てるのと同じコマンドで列を削除したいと思います。DF
他の同様のアプローチでは、一時変数を宣言する必要がありますが、可能であれば避けたいと思います。たとえば、
col_names <- c("x", "x", "length", "width", "x")
DF <- read_excel(system.file("extdata/datasets.xlsx", package = "readxl"),
col_names = col_names, skip = 1L)[ , -grep("^x$", col_names)]
不要な一時変数を作成せずにこれらの列を削除する方法はありますか?
( に変換できdata.table
ますが、 なしで変換する方法があるかどうか疑問に思っていますdata.table
)