将数据重整为无定量数据

用户名

我想我了解一般的重塑。但是,我有一些数据需要重整为宽格式,但是我不想显示由另一个变量索引的分数或定量数据。

相反,我想根据其值将一个变量从单个变量切换为五个变量。不应索引其他变量。我希望一个变量的值形成其他五个变量,并且这些变量的值应与变量名相同。

我提供了一个之前和之后的示例。

数据:

> dput(ansscales3)

structure(list(ATID = c(33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 
33, 33, 33), AnswerTypeDesc = c("VS|S|SD|VD", "VS|S|SD|VD", "VS|S|SD|VD", 
"VS|S|SD|VD", "VS|S|SD|VD", "VS|S|SD|VD", "VS|S|SD|VD", "VS|S|SD|VD", 
"VS|S|SD|VD", "VS|S|SD|VD", "VS|S|SD|VD", "VS|S|SD|VD", "VS|S|SD|VD"
), AValue = c(4, 3, 2, 1, 4, 3, 2, 1, 2, 1, 4, 3, 4), ScaleValue = c(1, 
2, 3, 4, 1, 2, 3, 4, 3, 4, 1, 2, 1), ADesc = c("Very Satisfied", 
"Satisfied", "Somewhat Dissatisfied", "Very Dissatisfied", "Very Satisfied", 
"Satisfied", "Somewhat Dissatisfied", "Very Dissatisfied", "Somewhat Dissatisfied", 
"Very Dissatisfied", "Very Satisfied", "Satisfied", "Very Satisfied"
), AOrder = c(1, 2, 3, 4, 1, 2, 3, 4, 3, 4, 1, 2, 1), StatGroup = c("AdjN", 
"AdjN", "AdjN", "AdjN", "N", "N", "N", "N", "PctNeg", "PctNeg", 
"PctPos", "PctPos", "TopBox"), Cycles = c(11, 11, 11, 11, 11, 
11, 11, 11, 11, 11, 11, 11, 11)), .Names = c("ATID", "AnswerTypeDesc", 
"AValue", "ScaleValue", "ADesc", "AOrder", "StatGroup", "Cycles"
), row.names = c(NA, -13L), class = "data.frame")

重塑为:

> dput(atids1)

structure(list(ATID = c(33, 33, 33, 33), AnswerTypeDesc = structure(c(1L, 
1L, 1L, 1L), .Label = "VS|S|SD|VD", class = "factor"), AValue = c(4, 
3, 2, 1), ScaleValue = c(1, 2, 3, 4), ADesc = c("Very Satisfied", 
"Satisfied", "Somewhat Dissatisfied", "Very Dissatisfied"), AOrder = c(1, 
2, 3, 4), Cycles = c(11, 11, 11, 11), N = c("N", "N", "N", "N"
), AdjN = c("AdjN", "AdjN", "AdjN", "AdjN"), PctPos = c("PctPos", 
"PctPos", "", ""), PctNeg = c("", "", "PctNeg", "PctNeg"), TopBox = c("TopBox", 
"", "", "")), .Names = c("ATID", "AnswerTypeDesc", "AValue", 
"ScaleValue", "ADesc", "AOrder", "Cycles", "N", "AdjN", "PctPos", 
"PctNeg", "TopBox"), row.names = c(NA, -4L), class = "data.frame")

我敢肯定这很简单,但不幸的是我无法使用reshape方法弄清楚。

SabDeM

这是一个解决方案 reshape2

(注意:我已加载dplyr以触​​发%>%运算符,但这只是样式代码的个人选择)

library(reshape2)
library(dplyr)
dat1 %>% dcast(... ~ StatGroup, value.var = "StatGroup", fill = "")
  ATID AnswerTypeDesc AValue ScaleValue                 ADesc AOrder Cycles AdjN N PctNeg PctPos TopBox
1   33     VS|S|SD|VD      1          4     Very Dissatisfied      4     11 AdjN N PctNeg              
2   33     VS|S|SD|VD      2          3 Somewhat Dissatisfied      3     11 AdjN N PctNeg              
3   33     VS|S|SD|VD      3          2             Satisfied      2     11 AdjN N        PctPos       
4   33     VS|S|SD|VD      4          1        Very Satisfied      1     11 AdjN N        PctPos TopBox

另一个解决方案 tidyr

 library(tidyr)
 dat1 %>% spread(StatGroup, StatGroup, fill = "")
  ATID AnswerTypeDesc AValue ScaleValue                 ADesc AOrder Cycles AdjN N PctNeg PctPos TopBox
1   33     VS|S|SD|VD      1          4     Very Dissatisfied      4     11 AdjN N PctNeg              
2   33     VS|S|SD|VD      2          3 Somewhat Dissatisfied      3     11 AdjN N PctNeg              
3   33     VS|S|SD|VD      3          2             Satisfied      2     11 AdjN N        PctPos       
4   33     VS|S|SD|VD      4          1        Very Satisfied      1     11 AdjN N        PctPos TopBox

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据框重整为平均值的堆栈

来自分类Dev

使用所有可能的组合将宽数据重整为长数据

来自分类Dev

根据条件数据框R将行重整为列

来自分类Dev

R:基于单列因子将每2行数据重整为1行

来自分类Dev

根据条件数据框R将行重整为列

来自分类Dev

在R中的数据框中将数据从行重整为列

来自分类Dev

在R中的数据框中将数据从行重整为列

来自分类Dev

将角度定量数据转换为定性图像

来自分类Dev

在R中将数据从长格式重整为宽格式时出现问题

来自分类Dev

重整和汇总不定期的数据

来自分类Dev

为col过滤熊猫数据框==无

来自分类Dev

从重整后的数据开始以重复的方式排列数据集

来自分类Dev

R-重整数据集以包括所有条件的值,即使它们为零

来自分类Dev

将数据与HTML元素关联(无jQuery)

来自分类Dev

使用重整形将R中的数据帧从长更改为宽。未定义列错误

来自分类Dev

用非数值重整R中的数据框

来自分类Dev

将数据解析为NSTableView

来自分类Dev

将数据显示为列名

来自分类Dev

如何在张量流中将数据重塑为无?

来自分类Dev

如何在张量流中将数据重塑为无?

来自分类Dev

将gif从数据加载到QMovie对象中(无文件)

来自分类Dev

将数据从servlet传递到无格式的jsp?

来自分类Dev

灰烬,无灰烬数据

来自分类Dev

灰烬,无灰烬数据

来自分类Dev

将XML解析为R数据帧

来自分类Dev

将表单数据解析为网页

来自分类Dev

将gridview数据导出为xlsx格式?

来自分类Dev

将数据重塑为面板形式

来自分类Dev

将数据框汇总为字典