作者celestialgod (天)
看板R_Language
标题Re: [问题] 关於资料处理
时间Tue Apr 25 20:20:02 2017
※ 引述《AaronHicks ( )》之铭言:
: [问题类型]:
:
: 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
: [软体熟悉度]:
: 入门(写过其他程式,只是对语法不熟悉)
: [问题叙述]:
: 我有一笔属性是data table的资料
: 里面记录顾客的消费明细
: 格式是这样
: 购买物品 数量
: 客人A 蔬菜 1
: 客人A 鸡肉 2
: 客人B 水果 2
: 客人B 牛肉 1
: 我想把他换成下面这个形式
: 蔬菜 水果 鸡肉 牛肉
: 客人A 1 0 2 0
: 客人B 0 2 0 1
: 有尝试用tidyr里面的spread来转置
: 但会变成
: 蔬菜 水果 鸡肉 牛肉
: 客人A 1 0 0 0
: 客人A 0 0 2 0
: 请问有什麽方法可以让客人不重复?
library(dplyr)
library(tidyr)
DF <- read.table(textConnection("
客人 购买物品 数量
客人A 蔬菜 1
客人A 鸡肉 2
客人B 水果 2
客人B 牛肉 1 "), header = TRUE)
spread(DF, 购买物品, 数量, fill = 0)
# 客人 水果 牛肉 蔬菜 鸡肉
# 1 客人A 0 0 1 2
# 2 客人B 2 1 0 0
客人当成一个column就可以了~~~
--
R资料整理套件系列文:
magrittr #1LhSWhpH (R_Language) https://goo.gl/72l1m9
data.table #1LhW7Tvj (R_Language) https://goo.gl/PZa6Ue
dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/I5xX9b
tidyr #1Liqls1R (R_Language) https://goo.gl/i7yzAz
pipeR #1NXESRm5 (R_Language) https://goo.gl/zRUISx
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.170.44.206
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1493122806.A.843.html