将案例转换为R中的变量

将案例转换为R中的变量,r,variables,case,R,Variables,Case,我有一个格式为data_format1的数据。基于此,我想将案例转换为变量,以获得数据格式2 您可以在此处找到数据格式1: ArticleID<-c(1, 2, 3, 3, 4) Word<-c("a", "b", "b", "c", "c") Freq<-c(2, 4, 6, 3, 2) data_format1<-cbind(ArticleID, Word, Freq) data_format1 ArticleID Word Freq [1,] "1"

我有一个格式为data_format1的数据。基于此,我想将案例转换为变量,以获得数据格式2

您可以在此处找到数据格式1:

ArticleID<-c(1, 2, 3, 3, 4)
Word<-c("a", "b", "b", "c", "c")
Freq<-c(2, 4, 6, 3, 2)
data_format1<-cbind(ArticleID, Word, Freq)

data_format1

     ArticleID Word Freq
[1,] "1"       "a"  "2" 
[2,] "2"       "b"  "4" 
[3,] "3"       "b"  "6" 
[4,] "3"       "c"  "3" 
[5,] "4"       "c"  "2" 

ArticleID这是一个典型的重塑问题-将数据从高格式转换为宽格式。
reformae2
软件包非常适合这种情况

注意:您需要先将数据转换为
data.frame
。请记住,
cbind
将获取数据并创建数组,而不是
data.frame
。因此,在解决方案中,我使用
data.frame(…)
重新创建数据

library(reshape2)
data_format1 <- data.frame(ArticleID, Word, Freq)
reshape2::dcast(data_format1, ArticleID~Word, sum)

  ArticleID a b c
1         1 2 0 0
2         2 0 4 0
3         3 0 6 3
4         4 0 0 2
library(重塑2)

数据格式感谢安德烈。马上,我测试你的答案,效果很好。
library(reshape2)
data_format1 <- data.frame(ArticleID, Word, Freq)
reshape2::dcast(data_format1, ArticleID~Word, sum)

  ArticleID a b c
1         1 2 0 0
2         2 0 4 0
3         3 0 6 3
4         4 0 0 2