操作数据以在 R 中创建向量

Manipulating data to create a vector in R

我正在尝试将数据处理成一种允许我轻松创建向量的形式,但是我 运行 遇到了一些问题。

我有像这样复制到 R 中的数据:

为了简单起见,我将只使用前十个数字,这样我就有如下内容:

1
4
1
7
1
1
3
4
5
2

我想创建一个包含每个数字的向量,如下所示:

greatVector <- c(1, 4, 1, 7, 1, 1, 3, 4, 5, 2)

但我只能手动输入每个逗号并按退格键正确定位下一个数字。

有没有更简单的方法来完成这个?提前致谢。

您可以尝试将 R 控制台中显示的文本复制并粘贴到 read.table指令中,如下所示:

greatVector<-unlist(read.table(text="1
4
1
7
1
1
3
4
5
2",header=F,sep="\n"))

> greatVector
 V11  V12  V13  V14  V15  V16  V17  V18  V19 V110 
   1    4    1    7    1    1    3    4    5    2

如@akrun 所述,您还可以使用 scan 指令,也可以复制和粘贴文本:

greatVector<-scan(text="1
4
1
7
1
1
3
4
5
2",what=numeric(),sep="\n")

> greatVector
 [1] 1 4 1 7 1 1 3 4 5 2

你可以试试scan

scan('file.txt',  what=numeric(), quiet=TRUE)
#[1] 1 4 1 7 1 1 3 4 5 2

@akrun 提到 scan 用于文件输入,但它也可以用于直接从控制台输入数据。在控制台键入此内容并复制数据,以回车 returns 或空格分隔:

 vec <- scan()
1: 1      # the numbers by the side are only printed upon data entry
2: 4
3: 1
4: 7
5: 1
6: 1
7: 3
8: 4
9: 5
10: 2
11:     # an empty line terminates data entry
Read 10 items
> vec
 [1] 1 4 1 7 1 1 3 4 5 2

如果 what 参数设置为 ""character(0)

,也可以输入字符值
vec_a <- scan(what="")