忽略列表读取 table 中的特定字符

Ignoring specific characters in read table of list

我有以下列表:

> str1<-'cor [1] 0.8832846 0.8880517 0.8881286 0.8845148 0.8832846 0.8880517 0.8818238 0.8767492 0.8876672 0.8822851 0.8854375 0.8850531 0.8835153
[14] 0.8832846 0.8908965 0.8803629'
I use the following command:
> df1 <- read.table(text=scan(text=str1, what='', quiet=TRUE), header=TRUE)

但是,[1][14] 包含在 df1 中。我可以在 df1 中更改什么以忽略所有 [x](其中 x 是一个数字?

我们可以删除方括号,包括 gsubscanread.table 中的数字,就像在 OP 的 post.

中一样
read.table(text=scan(text=gsub('\[\d+\]', '', str1),
                             what='', quiet=TRUE), header=TRUE)
#      cor
#1  0.8832846
#2  0.8880517
#3  0.8881286
#4  0.8845148
#5  0.8832846
#6  0.8880517
#7  0.8818238
#8  0.8767492
#9  0.8876672
#10 0.8822851
#11 0.8854375
#12 0.8850531
#13 0.8835153
#14 0.8832846
#15 0.8908965
#16 0.8803629

或者不使用 scan @Richard Scriven 提到的

read.table(text=gsub('\s+(\[\d+\]\s+)?', '\n', str1), header=TRUE)