【问题标题】:Text content cross table in RR中的文本内容交叉表
【发布时间】:2026-01-15 06:50:02
【问题描述】:

我需要在 R 中创建一个包含文本值的数据透视表,而不是聚合的 SUM 或 AVERAGE 函数。如下例所示:

原始表(在具有用户、字段、文本字段的数据框中):

用户 |领域 |文字
组1 |字段 1 |文字内容A
组1 |字段 2 |文字内容B
组2 |字段 1 |文字内容 C
组2 |字段 2 |文字内容 D
组 3 |字段 1 |文字内容E

我在 R 中使用交叉制表需要的结果:

用户 |字段 1 |字段 2
组1 |文字内容A |文字内容B
组2 |文字内容 C |文字内容 D
组 3 |文本内容 E |NA
然后我需要将结果保存为 CSV ......但这是简单的部分:)

有什么方法可以实现吗?

非常感谢, 马

【问题讨论】:

    标签: r


    【解决方案1】:

    这就是reshape(从“长”格式变为“宽”格式)。其他人更喜欢reshape 包,但两者都适用于这个简单的案例。

    这是一个带有基本功能的解决方案:

    tmp<-data.frame(user=c("G1", "G1", "G2", "G2", "G3"), field=c("F1", "F2", "F1", "F2", "F1"), txt=c("A", "B", "C", "D", "E"))
    reshape(data=tmp, direction="wide", timevar="field", idvar="user")
    

    【讨论】:

    • 我确实查看了重塑帮助,但只找到了有关如何添加聚合值的信息,就像我在初始消息中所说的那样...我似乎找不到任何有关如何添加文本的信息内容......因此我的信息在这里。还是谢谢你。
    • 非常感谢尼克!它工作得很好!我实际上是在尝试将文本值作为参数包含在内,例如 value="txt".. 这就是我出错的地方。再次感谢。