推 f496328mm: 推 04/19 17:01
※ 引述《oliversu1211 (oliversu)》之銘言:
: 我想請問有沒有什麼快速的方法可以轉換資料
: 我目前的資料是長這樣:
: 王小明 牛奶
: 王小明 奶油
: 王小明 蕃茄
: 我想要轉換成:
: 王小明 牛奶 奶油 蕃茄
: 因為資料有好幾萬筆,所以請教大家有沒有什麼快速的辦法
: 拜託救救我
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.213.201
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1492574796.A.0D3.html
a possible solution using dplyr and tidyr
不知道原po後續要做甚麼處理 結果不漂亮請見諒...
# set random seed
set.seed(1)
# 產生測試資料
library(dplyr)
dat <- data.frame( name=sample(c("jane","zack","andy"),size=10,replace=T),
food=sample(c("apple","butter","crab","duck","egg"),size=10,replace=T)) %>%
unique()
dat
# name food
# 1 jane butter
# 2 zack apple
# 3 zack duck
# ...以下略
# transform dataframe
library(tidyr)
spread(dat, food, food)
### output ###
# name apple butter crab duck egg
# 1 andy <NA> butter crab duck <NA>
# 2 jane <NA> butter <NA> duck <NA>
# 3 zack apple butter <NA> duck egg
##############