Попробуйте это (добавив другие read.table
аргументы, если необходимо):
# 1
DF <- read.table(pipe("cut -fields=1,2 < data.txt| awk something_else"))
или в чистом виде R:
# 2
DF <- read.table("data.txt")[1:2]
или даже не читать ненужные поля, предполагая, что есть 4 поля:
# 3
DF <- read.table("data.txt", colClasses = c(NA, NA, "NULL", "NULL"))
Последняя строка может быть изменена для случая, когда мы знаем, что хотим первые два поля, но не знаем, сколько есть других полей:
# 3a
n <- count.fields("data.txt")[1]
read.table("data.txt", header = TRUE, colClasses = c(NA, NA, rep("NULL", n-2)))
Можно использовать пакет sqldf. В этом примере мы предполагаем, что файл csv data.csv
и что нужные поля называются a
и b
. Если это не файл csv, используйте соответствующие аргументы для read.csv.sql
, чтобы указать другой разделитель и т. Д .:
# 4
library(sqldf)
DF <- read.csv.sql("data.csv", sql = "select a, b from file")