R reshape dcast 0 和 1

标签 r casting reshape reshape2

嗨,我有一个数据看起来像这样:

partNumber manufacturer supplier availability
p1         m1           s1       100
p1         m1           s2       500
p2         m2           s1       200
p2         m2           s3       300
....

我的预期输出应如下所示:
partNumber manufacturer s1    s2    s3...
p1         m1           100   500   0 ...
p2         m2           200   0     300 ...
...

我试图在 reshape2 包中使用 dcast 来实现这个,这是我的命令:
df.dcast <- dcast(df, partNumber + manufacturer ~ supplier, value.var="availability")

但是,输出值只有 0 和 1,似乎将输出变成了结帐而不是显示可用性值。
partNumber manufacturer s1    s2    s3...
p1         m1           1     1     0 ...
p2         m2           1     0     1 ...
...

顺便说一句,当我运行命令时,有一个警告
Aggregation function missing: defaulting to length... 

我不太明白聚合函数的作用是什么,任何帮助和解释都会受到赞赏。

最佳答案

当我使用您的数据示例执行此操作时,我得到:

df.dcast <- dcast(df, partNumber + manufacturer ~ supplier, value.var="availability")
df.dcast
  partNumber manufacturer  s1  s2  s3
1         p1           m1 100 500  NA
2         p2           m2 200  NA 300

最有可能发生的是您的 availability列不是您认为的那样。也许它被转换为一个因子变量,因为在输入文件的那一列中有一些文本。如果是这种情况,那么您需要阅读 R-FAQ 7.10

关于R reshape dcast 0 和 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058525/

相关文章:

r - 从 agrep 中提取子字符串匹配

r - 列名在 read.table 或 read.csv 上向左移动

sql-server - 将日期转换为 varchar,然后将其转换回日期

oracle - 如何在 View 中创建非空列

r - 使用 Melt() 不会按集合 ID 排序

python - pd DataFrame 中列的列名称

r - curl 整洁的评估编程,具有多个输入和跨列的自定义函数

java - 单击列表项时崩溃。

使用 reshape2(熔化和类型转换)重组时间序列的数据框

html - R - 让 xtable 将字符串中的 HTML 标签解释为 HTML 标签而不是文字