从R中的文件创建向量

hei*_*los 9 r

我是R的新手,我的问题应该是微不足道的.我需要从包含单词及其出现次数的txt文件创建一个单词云.出于这个目的,我正在使用片段包.正如在链接的底部可以看到的那样,首先我必须创建一个向量(右边是单词是向量吗?),如下所示.

> words <- c(apple=10, pie=14, orange=5, fruit=4)
Run Code Online (Sandbox Code Playgroud)

我的问题是做同样的事情,但是从包含单词及其出现次数的文件创建向量.如果你能给我一些提示,我会很高兴的.

此外,为了理解要插入的文件的格式,我将矢量字写入文件.

> write(words, file="words.txt")
Run Code Online (Sandbox Code Playgroud)

但是,文件words.txt只包含值而不包含名称(苹果,馅饼等).

$ cat words.txt
10 14 5 4
Run Code Online (Sandbox Code Playgroud)

谢谢.

Rei*_*son 5

words是一个命名向量,cloud()如果我正确阅读帮助,区别在函数的上下文中很重要.

将数据正确写入文件:

write.table(words, file = "words.txt")
Run Code Online (Sandbox Code Playgroud)

像创建的txt文件一样创建单词出现文件.当你把它读回R时,你需要做一些操作:

> newWords <- read.table("words.txt", header = TRUE)
> newWords
        x
apple  10
pie    14
orange  5
fruit   4
> words <- newWords[,1]
> names(words) <- rownames(newWords)
> words
 apple    pie orange  fruit 
    10     14      5      4
Run Code Online (Sandbox Code Playgroud)

我们在这里做的是将文件读入newWords,将其子集化以获取我们存储的唯一列(变量)words.最后一步是从读入的文件中获取行名称,并将它们作为words向量上的"名称"应用.我们使用该names()功能完成最后一步.

  • 对于单行,使用 as.matrix(read.table('words.txt'))[, 1]` (矩阵子集传播名称,而 data.frame 则不传播)。 (2认同)