[問題] 如何將兩變數用/合併

看板R_Language作者 (笨笨的)時間9年前 (2015/03/17 18:49), 編輯推噓1(1017)
留言18則, 4人參與, 最新討論串1/1
各位高手大家好! [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題描述] 主要是手邊的data要作格式轉換 例如 id x1_1 x1_2 x2_1 x2_2 x3_1 x3_2 x4_1 x4_2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 1 2 2 2 3 1 1 1 2 1 1 2 1 ... 500 1 1 1 1 2 2 2 2 格式想轉變成 id x1 x2 x3 x4 1 1/2 1/1 2/2 1/2 2 1/1 2/1 1/2 2/2 3 1/1 1/2 1/1 2/1 ... 500 1/1 1/1 2/2 2/2 以上,小弟在此先謝謝各位高手 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.175.169 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1426589397.A.1FA.html

03/17 19:09, , 1F
mutate_(df, .dots = paste0("x", 1:4, "_", 1,
03/17 19:09, 1F

03/17 19:09, , 2F
"+x", 1:4, "_", 2))
03/17 19:09, 2F

03/17 19:09, , 3F
df是你的data.frame
03/17 19:09, 3F

03/17 19:10, , 4F
mutate_ 先library(dplyr)
03/17 19:10, 4F

03/17 19:11, , 5F
mutate_(x, .dots = paste0("paste(x", 1:4,
03/17 19:11, 5F

03/17 19:11, , 6F
"_", 1, ",x", 1:4, "_", 2, ",sep='/')"))
03/17 19:11, 6F

03/17 19:11, , 7F
x是你的data.frame
03/17 19:11, 7F

03/17 19:12, , 8F
前三推打太快,忘記改成你要你的格式,抱歉
03/17 19:12, 8F

03/17 19:12, , 9F
mutate_之後 再重新命名跟選你需要的column出來即可
03/17 19:12, 9F

03/17 19:13, , 10F
t(apply(data,1,function(x)
03/17 19:13, 10F

03/17 19:13, , 11F
paste0(x[seq(1,length(x),2)],"/"
03/17 19:13, 11F

03/17 19:14, , 12F
,x[seq(2,length(x),2)])))
03/17 19:14, 12F

03/17 19:15, , 13F
data放你的資料~~
03/17 19:15, 13F

03/17 19:24, , 14F
s大,第一個seq應該從3開始,而非1,第一個是id。
03/17 19:24, 14F

03/17 19:33, , 15F
3Q!! 沒看到 修改一下 第一個seq(2,length(x),2)
03/17 19:33, 15F

03/17 19:33, , 16F
第二個seq(3,length(x),2)
03/17 19:33, 16F

03/17 20:41, , 17F
親愛的板友,如果要推多次連續code,建議直接回文喔。
03/17 20:41, 17F

03/18 08:53, , 18F
謝謝各位,成功了
03/18 08:53, 18F
文章代碼(AID): #1L20RL7w (R_Language)