如何在R中使用read.table指定要选择的列

如何在R中使用read.table指定要选择的列,r,read.table,R,Read.table,我有一个100列的数据集,它没有标题 我有一个int向量,它由一些介于1到100之间的数字组成。例如,带有“2 5 62 78”的向量 现在,当我使用read.table读取数据集时,我只想从数据集中选择第2、5、62和78列。我该怎么做?非常感谢。您需要的是read.table()的colClasses选项(以及派生函数)。它允许您传递带有数据中每列的类的字符向量。如果将其设置为“NULL”,则将跳过该列。您可以将整个内容设置为“NULL”,然后只更改要导入的内容(基于它们的类) 下面是概念证

我有一个100列的数据集,它没有标题

我有一个int向量,它由一些介于1到100之间的数字组成。例如,带有“2 5 62 78”的向量


现在,当我使用read.table读取数据集时,我只想从数据集中选择第2、5、62和78列。我该怎么做?非常感谢。

您需要的是
read.table()
colClasses
选项(以及派生函数)。它允许您传递带有数据中每列的类的
字符
向量。如果将其设置为
“NULL”
,则将跳过该列。您可以将整个内容设置为
“NULL”
,然后只更改要导入的内容(基于它们的类)

下面是概念证明

cc <- rep('NULL', 100)       ## skip all 100 columns
cc[c(2, 5)] <- 'integer'     ## 2 and 5 are integer
cc[c(62, 58)] <- 'character' ## 62 and 58 will be imported as character
df <- read.csv('really-wide-data.csv', colClasses=cc)

cc您需要的是
read.table()
colClasses
选项(以及派生函数)。它允许您传递带有数据中每列的类的
字符
向量。如果将其设置为
“NULL”
,则将跳过该列。您可以将整个内容设置为
“NULL”
,然后只更改要导入的内容(基于它们的类)

下面是概念证明

cc <- rep('NULL', 100)       ## skip all 100 columns
cc[c(2, 5)] <- 'integer'     ## 2 and 5 are integer
cc[c(62, 58)] <- 'character' ## 62 and 58 will be imported as character
df <- read.csv('really-wide-data.csv', colClasses=cc)

cc您需要的是
read.table()
colClasses
选项(以及派生函数)。它允许您传递带有数据中每列的类的
字符
向量。如果将其设置为
“NULL”
,则将跳过该列。您可以将整个内容设置为
“NULL”
,然后只更改要导入的内容(基于它们的类)

下面是概念证明

cc <- rep('NULL', 100)       ## skip all 100 columns
cc[c(2, 5)] <- 'integer'     ## 2 and 5 are integer
cc[c(62, 58)] <- 'character' ## 62 and 58 will be imported as character
df <- read.csv('really-wide-data.csv', colClasses=cc)

cc您需要的是
read.table()
colClasses
选项(以及派生函数)。它允许您传递带有数据中每列的类的
字符
向量。如果将其设置为
“NULL”
,则将跳过该列。您可以将整个内容设置为
“NULL”
,然后只更改要导入的内容(基于它们的类)

下面是概念证明

cc <- rep('NULL', 100)       ## skip all 100 columns
cc[c(2, 5)] <- 'integer'     ## 2 and 5 are integer
cc[c(62, 58)] <- 'character' ## 62 and 58 will be imported as character
df <- read.csv('really-wide-data.csv', colClasses=cc)


cc也许这对你有帮助?查看
?read.table
选项
colClasses
。如果将其设置为
“NULL”
(这是一个字符),它将跳过该列。@ilir您应该将其作为答案发布。虽然我怀疑对于一个100列的文件来说,这样做会容易得多
foo@CarlWitthoft您可以预先填充类的向量,并使用一些技巧。请看我的答案,这是我过去经常用到的东西。@ilir是的,我对你的详细方法投了赞成票。也许这会对你有所帮助?查看
?read.table
选项
colClasses
。如果将其设置为
“NULL”
(这是一个字符),它将跳过该列。@ilir您应该将其作为答案发布。虽然我怀疑对于一个100列的文件来说,这样做会容易得多
foo@CarlWitthoft您可以预先填充类的向量,并使用一些技巧。请看我的答案,这是我过去经常用到的东西。@ilir是的,我对你的详细方法投了赞成票。也许这会对你有所帮助?查看
?read.table
选项
colClasses
。如果将其设置为
“NULL”
(这是一个字符),它将跳过该列。@ilir您应该将其作为答案发布。虽然我怀疑对于一个100列的文件来说,这样做会容易得多
foo@CarlWitthoft您可以预先填充类的向量,并使用一些技巧。请看我的答案,这是我过去经常用到的东西。@ilir是的,我对你的详细方法投了赞成票。也许这会对你有所帮助?查看
?read.table
选项
colClasses
。如果将其设置为
“NULL”
(这是一个字符),它将跳过该列。@ilir您应该将其作为答案发布。虽然我怀疑对于一个100列的文件来说,这样做会容易得多
foo@CarlWitthoft您可以预先填充类的向量,并使用一些技巧。请参阅我的答案,了解我过去经常使用的内容。@ilir是的,由于您的详细方法,我投了更高的票。感谢@ilir,出于某些原因,请cc[c(2,5)]@alwc,这可能是因为数据不是整数。我不知道你的专栏有什么。该示例旨在说明您可以指定每个变量的类。感谢@ilir,出于某些原因cc[c(2,5)]@alwc,这可能是因为数据不是整数。我不知道你的专栏有什么。该示例旨在说明您可以指定每个变量的类。感谢@ilir,出于某些原因cc[c(2,5)]@alwc,这可能是因为数据不是整数。我不知道你的专栏有什么。该示例旨在说明您可以指定每个变量的类。感谢@ilir,出于某些原因cc[c(2,5)]@alwc,这可能是因为数据不是整数。我不知道你的专栏有什么。该示例旨在说明可以指定每个变量的类。