gpt4 book ai didi

r - 取消对数据框上的 x 选项卡的分类

转载 作者:行者123 更新时间:2023-12-04 23:05:23 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Faster ways to calculate frequencies and cast from long to wide

(4 个回答)


3年前关闭。




我在 R 中有以下数据框

  LOCATION COLOR  STATE
1 A green fresh
2 A red rotten
3 B green fresh
4 B green fresh
5 C red fresh
6 C green rotten

可以使用以下脚本在 R 中创建上述数据框
dat <- read.table(text = "LOCATION COLOR STATE
1 A green fresh
2 A red rotten
3 B green fresh
4 B green fresh
5 C red fresh
6 C green rotten",header = TRUE,sep = "",row.names = 1)

我正在尝试重新排列我的数据框以获得以下输出
  LOCATION COLOR ROTTEN FRESH
1 A red 1 0
2 A green 0 1
3 B red 0 0
4 B green 0 2
5 C red 0 1
6 C greed 1 0

我正在尝试使用以下代码执行此操作
dat <- as.data.frame(unclass(xtabs(~ LOCATION  + COLOR + STATE,dat)))

这给了我
            green.fresh   red.fresh  green.rotten red.rotten
1 A 1 0 0 1
2 B 2 0 0 0
3 C 0 1 1 0

如您所见,我非常接近所需的格式,但我不确定如何使当前的输出与所需的输出相匹配。任何想法或提示将不胜感激。

最佳答案

我确定有一种方法可以通过 xtabs 做到这一点但我倾向于使用 dcast反而:

library(reshape2)
dcast(dat,LOCATION+COLOR~STATE,
fun.aggregate = length,value.var = "STATE",drop = FALSE)
LOCATION COLOR fresh rotten
1 A green 1 0
2 A red 0 1
3 B green 2 0
4 B red 0 0
5 C green 0 1
6 C red 1 0

更新为包括所需输出中指示的缺失变量组合。

关于r - 取消对数据框上的 x 选项卡的分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630699/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com