【问题标题】:Data manipulation using dcast R使用 dcast R 进行数据操作
【发布时间】:2021-11-08 18:00:34
【问题描述】:

我有一个数据如下图:

Data Flag Answer
X 1 Yes
X 2 Yes
Y 1 Yes
Y 2 No
Z 1 Yes
Z 2 Yes

我想把它转换成:

Data 1 2
X Yes Yes
Y Yes No
Z Yes Yes

我知道我必须使用 dcast 功能,但我无法将数据操作为所需的形式。 需要帮助。

谢谢。

【问题讨论】:

  • 拜托,您能否显示将函数 dput 应用于您的数据的输出?
  • 在基础 R reshape(dat, dir = 'wide', timevar = 'Flag', idvar = 'Data')

标签: r reshape reshape2 dcast


【解决方案1】:
reshape2::dcast(dat, Data ~ Flag, value.var = "Answer")
#   Data   1   2
# 1    X Yes Yes
# 2    Y Yes  No
# 3    Z Yes Yes

数据

dat <- structure(list(Data = c("X", "X", "Y", "Y", "Z", "Z"), Flag = c(1L, 2L, 1L, 2L, 1L, 2L), Answer = c("Yes", "Yes", "Yes", "No", "Yes", "Yes")), class = "data.frame", row.names = c(NA, -6L))

【讨论】:

  • 工作得很好。我不知道 value.var 参数。再次感谢。
  • 在这种情况下,即使没有它,它也可以工作,因为reshape2::dcast(dat, Data ~ Flag),因为value.var 的默认值是guess_value(data),这是reshape2 内部的一个函数,它试图找到可能的列.在这种情况下,只剩下一列,所以它猜对了,但我建议始终明确了解您希望将哪一列用作“值”。
猜你喜欢
  • 1970-01-01
  • 2019-12-04
  • 2010-12-30
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 2019-05-30
  • 2020-08-20
  • 1970-01-01
相关资源
最近更新 更多