作者yaohwei (笨笨的)
看板R_Language
标题[问题] 如何将两变数用/合并
时间Tue Mar 17 18:49:55 2015
各位高手大家好!
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题描述]
主要是手边的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://webptt.com/cn.aspx?n=bbs/R_Language/M.1426589397.A.1FA.html
1F:→ celestialgod: mutate_(df, .dots = paste0("x", 1:4, "_", 1, 03/17 19:09
2F:→ celestialgod: "+x", 1:4, "_", 2)) 03/17 19:09
3F:→ celestialgod: df是你的data.frame 03/17 19:09
4F:→ celestialgod: mutate_ 先library(dplyr) 03/17 19:10
5F:→ celestialgod: mutate_(x, .dots = paste0("paste(x", 1:4, 03/17 19:11
6F:→ celestialgod: "_", 1, ",x", 1:4, "_", 2, ",sep='/')")) 03/17 19:11
7F:→ celestialgod: x是你的data.frame 03/17 19:11
8F:→ celestialgod: 前三推打太快,忘记改成你要你的格式,抱歉 03/17 19:12
9F:→ celestialgod: mutate_之後 再重新命名跟选你需要的column出来即可 03/17 19:12
10F:→ swedrf0112: t(apply(data,1,function(x) 03/17 19:13
11F:→ swedrf0112: paste0(x[seq(1,length(x),2)],"/" 03/17 19:13
12F:→ swedrf0112: ,x[seq(2,length(x),2)]))) 03/17 19:14
13F:→ swedrf0112: data放你的资料~~ 03/17 19:15
14F:→ celestialgod: s大,第一个seq应该从3开始,而非1,第一个是id。 03/17 19:24
15F:→ swedrf0112: 3Q!! 没看到 修改一下 第一个seq(2,length(x),2) 03/17 19:33
16F:→ swedrf0112: 第二个seq(3,length(x),2) 03/17 19:33
17F:推 andrew43: 亲爱的板友,如果要推多次连续code,建议直接回文喔。 03/17 20:41
18F:→ yaohwei: 谢谢各位,成功了 03/18 08:53