Re: [問題] 資料重新排序
※ 引述《CKAXI (我不在...)》之銘言:
: [問題類型]:
:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
:
: [軟體熟悉度]:
: 新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: 我有一筆資料,想依照特定的變項重新排列
: 原始:
: fname lname item1 item3 id item2 pid item4 item5
: Jada W 4 5 258 3 NA NA NA
: John W 3 4 123 2 989 5 2
: Tana W 4 3 321 5 NA NA NA
: Brooke G 2 4 NA NA 654 3 4
: Ella W 3 5 NA NA 456 4 2
: Johnna B 3 4 NA NA 369 4 3
: 想排成:
: fname lname id pid item1 item2 item3 item4 item5
: Jada W 258 NA 4 3 5 NA NA
: John W 123 989 3 2 4 5 2
: Tana W 321 NA 4 5 3 NA NA
: Brooke G NA 654 2 NA 4 3 4
: Ella W NA 456 3 NA 5 4 2
: Johnna B NA 369 3 NA 4 4 3
: [程式範例]:
:
: 請問一下是否是使用"order"這個功能?麻煩版上高手提供提示,謝謝
不知道你是不是說這樣:
df = read.table(textConnection("
fname lname item1 item3 id item2 pid item4 item5
Jada W 4 5 258 3 NA NA NA
John W 3 4 123 2 989 5 2
Tana W 4 3 321 5 NA NA NA
Brooke G 2 4 NA NA 654 3 4
Ella W 3 5 NA NA 456 4 2
Johnna B 3 4 NA NA 369 4 3"),
header=TRUE)
df[order(names(df))]
fname id item1 item2 item3 item4 item5 lname pid
1 Jada 258 4 3 5 NA NA W NA
2 John 123 3 2 4 5 2 W 989
3 Tana 321 4 5 3 NA NA W NA
4 Brooke NA 2 NA 4 3 4 G 654
5 Ella NA 3 NA 5 4 2 W 456
6 Johnna NA 3 NA 4 4 3 B 369
我一般還是會建議用dplyr
library(dplyr)
df %>% select(lname, id, pid, starts_with('item'))
lname id pid item1 item3 item2 item4 item5
1 W 258 NA 4 5 3 NA NA
2 W 123 989 3 4 2 5 2
3 W 321 NA 4 3 5 NA NA
4 G NA 654 2 4 NA 3 4
5 W NA 456 3 5 NA 4 2
6 B NA 369 3 4 NA 4 3
FYI
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.73.190
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1445313523.A.E19.html
推
10/20 21:44, , 1F
10/20 21:44, 1F
推
10/23 01:36, , 2F
10/23 01:36, 2F
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章