Надеюсь, вы можете помочь моему вопросу.
У меня набор данных выглядит следующим образом.Всего 1500 строк.
+-------+---------+---------+--------+
| index | item | taste | price |
+-------+---------+---------+--------+
| 1 | orange | low | 3 |
| 1 | banana | medium | 4 |
| 1 | pier | high | 2 |
| 2 | apple | medium | 4 |
| 2 | orange | medium | 4 |
| 2 | banana | medium | 3 |
| ... | ... | ... | ... |
| 1500 | 1500 | 1500 | 1500 |
+-------+---------+---------+--------+
Я использую этот код, но получил сообщение об ошибке:
library(data.table)
dcast(setDT(df), index ~ item, value.var = c("taste", "price"))
Масштаб ошибки:
Ошибка в .subset2(x, i, точный = точный): нижний индекс вне границ. Дополнительно: предупреждающее сообщение: In if (! (value.var% in% names (data))) {: условие имеет длину> 1 и только первый элементбудет использоваться
это ожидаемый результат, который я хочу получить.
index, item, taste_orange,taste.banana, taste.pier, taste.apple, price_orange,price.banana, price.pier, price.apple,
1, low,medium,high,0,3,4,2,0
2, medium,medium,0,medium,4,3,0,4
...,...,...,...,...,...,...,....,...
1500,1500, 1500,1500,1500,1500,1500,1500,1500
Заранее спасибо!