※ 引述《Tampa (光芒)》之銘言:
: ※ 引述《Tampa (光芒)》之銘言:
: : 作者: Tampa (光芒) 看板: Database
: : 標題: [SQL ] 篩選欄位內相同資料
: : 時間: Fri Aug 19 23:28:06 2016
: 謝謝各位大大回復
: 新增一個問題
: : 問題如下
: 手機號碼4 天數4 手機號碼5 天數5
: : 111 3 118 4
: : 112 4 113 5
: : 113 5 111 8
: : 115 5 116 9
: : 118 6 119 10
: : . . . .
: 篩選條件如下
: 1.當手機號碼4中 有符合手機號碼5的資料,則回傳天數4所對應欄位的資料
: (類似excel的index)
: : 希望呈現如下
: : 手機號碼4 天數4 手機號碼5 天數5
: : 111 3 111 8
: : 113 5 113 5
: 118 6 118 4
: 情境就是
: 想分析公司推完活動後,是否有明顯增加使用者使用的天數
: 感謝各位大大
cp_num_gen_f <- function(n) paste0("09", apply(matrix(sample(0:9, 8*n, TRUE),
n), 1, paste0, collapse =""))
dat <- data.frame(cp4 = cp_num_gen_f(10), nd4 = rpois(10, 5), cp5 = 0,
nd5 = rpois(10, 6), stringsAsFactors = FALSE)
dat$cp5 <- c(sample(dat$cp4, 3), cp_num_gen_f(7))
# 1.
match(dat$cp5, dat$cp4)
# 2.
library(dplyr)
dat %>% mutate(idx = match(cp5, cp4)) %>%
mutate(cp4_match = dat[idx, 1], nd4_match = dat[idx, 2]) %>%
filter(!is.na(cp4_match))
# cp4 nd4 cp5 nd5 idx cp4_match nd4_match
# 1 0969429990 7 0993267331 6 2 0993267331 2
# 2 0993267331 2 0941547740 4 4 0941547740 4
# 3 0999020937 4 0930712667 2 7 0930712667 1
8/22修改:調換index順序,才符合原PO的問題