我试图使用r中的表函数来创建一个应急表。但是,我没有得到一个应急表,而是得到了值(而不是表),列出了两个值。
我的数据有15000个观测和2个变量。数据如下:
**Field.Label** |**Form.Name**
------------------------------------|---------------
Applicant Name |F1
------------------------------------|---------------
Phone |F1
------------------------------------|---------------
Address |F1
------------------------------------|---------------
Phone |F2
------------------------------------|---------------
Address |F2
------------------------------------|---------------
Title |F2
------------------------------------|---------------
Phone |F3
------------------------------------|---------------
... |...我使用了以下代码:
CTable<-table(mydata$Field.Label, mydata$Form.Name)
CTable<-as.data.frame(CTable)
View(CTable)得到了这样的结果: 1,665,495个条目(Field.Label有8,541级,Form.Name有195级)。8 541* 195 =1 665 495):
** Field.Label** |** Form.Name** |**Freq**
------------------------------------|---------------|-----------
Applicant Name |F1 |1
------------------------------------|---------------|-----------
Phone |F1 |1
------------------------------------|---------------|-----------
Address |F1 |1
------------------------------------|---------------|-----------
Title |F1 |0
------------------------------------|---------------|-----------
Applicant Name |F2 |0
------------------------------------|---------------|-----------
Phone |F2 |1
------------------------------------|---------------|-----------
Address |F2 |1
------------------------------------|---------------|-----------
Title |F2 |1
------------------------------------|---------------|-----------
Applicant Name |F3 |0
------------------------------------|---------------|-----------
Phone |F3 |1
------------------------------------|---------------|-----------
Address |F3 |0
------------------------------------|---------------|-----------
Title |F3 |0
------------------------------------|---------------|-----------
... |...我怎样才能得到像下面这样的应急表的结果?
|**F1** |**F2** |**F3** |
------------------------------------|-------|-------|-------|
Applicant Name | 1 |0 |0 |
------------------------------------|-------|-------|-------|
Phone | 1 |1 |1 |
------------------------------------|-------|-------|-------|
Address | 1 |1 |0 |
------------------------------------|-------|-------|-------|
Title | 0 |1 |0 |
------------------------------------|-------|-------|-------|谢谢!
发布于 2016-08-05 19:35:54
Data.Table解决方案:
library("data.table")
mydata <- fread('Field.Label,Form.Name
Applicant,F1
Phone,F1
Address,F1
Phone,F2
Address,F2
Title,F2
Phone,F3')
CTable <- dcast(setDT(mydata), Field.Label ~ Form.Name, fun = length)
CTable
# Field.Label F1 F2 F3
# 1: Address 1 1 0
# 2: Applicant 1 0 0
# 3: Phone 1 1 1
# 4: Title 0 1 0
class(CTable)
# [1] "data.table" "data.frame"Base解决方案:
CTable <- table(mydata$Field.Label, mydata$Form.Name)
CTable <- data.frame(matrix(CTable, nrow = dim(CTable)[1], dimnames = dimnames(CTable)))
CTable
# F1 F2 F3
# Address 1 1 0
# Applicant 1 0 0
# Phone 1 1 1
# Title 0 1 0
class(CTable)
# [1] "data.frame"https://stackoverflow.com/questions/38796271
复制相似问题