第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何按多列對(duì)數(shù)據(jù)框進(jìn)行排序

如何按多列對(duì)數(shù)據(jù)框進(jìn)行排序

慕沐林林 2019-05-24 16:08:03
如何按多列對(duì)數(shù)據(jù)框進(jìn)行排序我想按多列對(duì)data.frame進(jìn)行排序。例如,對(duì)于下面的data.frame,我想按列z(降序)然后按列b(升序)排序:dd <- data.frame(b = factor(c("Hi", "Med", "Hi", "Low"),       levels = c("Low", "Med", "Hi"), ordered = TRUE),      x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9),      z = c(1, 1, 1, 2))dd    b x y z1  Hi A 8 12 Med D 3 13  Hi A 9 14 Low C 9 2
查看完整描述

4 回答

?
拉丁的傳說(shuō)

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

德克的答案很棒。它還強(qiáng)調(diào)了用于索引data.frames和data.tables 的語(yǔ)法的主要區(qū)別:

## The data.frame waydd[with(dd, order(-z, b)), ]## The data.table way: (7 fewer characters, but that's not the important bit)dd[order(-z, b)]

這兩個(gè)電話之間的差異很小,但它可能會(huì)產(chǎn)生重要影響。特別是如果您編寫(xiě)生產(chǎn)代碼和/或關(guān)注研究中的正確性,最好避免不必要的重復(fù)變量名稱。data.table 幫助你做到這一點(diǎn)。

這是一個(gè)如何重復(fù)變量名稱可能會(huì)讓您陷入麻煩的示例:

讓我們從Dirk的答案中改變背景,并說(shuō)這是一個(gè)更大的項(xiàng)目的一部分,其中有很多對(duì)象名稱,它們很長(zhǎng)很有意義; 而不是dd它被稱為quarterlyreport。它成為了 :

quarterlyreport[with(quarterlyreport,order(-z,b)),]

好的。沒(méi)有錯(cuò)。接下來(lái),您的老板要求您在報(bào)告中包含上一季度的報(bào)告。你仔細(xì)檢查代碼,lastquarterlyreport在各個(gè)地方添加一個(gè)對(duì)象,以某種方式(地球上怎么樣?)你最終會(huì)得到這個(gè):

quarterlyreport[with(lastquarterlyreport,order(-z,b)),]

這不是你的意思,但你沒(méi)有發(fā)現(xiàn)它,因?yàn)槟阕龅煤芸?,而且它坐落在一個(gè)類似代碼的頁(yè)面上。代碼不會(huì)失?。](méi)有警告也沒(méi)有錯(cuò)誤),因?yàn)镽認(rèn)為這就是你的意思。你希望看到你的報(bào)告的人發(fā)現(xiàn)它,但也許他們沒(méi)有。如果您經(jīng)常使用編程語(yǔ)言,那么這種情況可能都是熟悉的。你會(huì)說(shuō)這是一個(gè)“錯(cuò)字”。我會(huì)解決你對(duì)老板說(shuō)的“拼寫(xiě)錯(cuò)誤”。

data.table我們關(guān)注這樣微小的細(xì)節(jié)。所以我們做了一些簡(jiǎn)單的事情,以避免兩次輸入變量名。非常簡(jiǎn)單。idd自動(dòng)框架內(nèi)進(jìn)行評(píng)估。你根本不需要with()。

代替

dd[with(dd, order(-z, b)), ]

只是

dd[order(-z, b)]

而不是

quarterlyreport[with(lastquarterlyreport,order(-z,b)),]

只是

quarterlyreport[order(-z,b)]

這是一個(gè)非常小的差異,但它可能只是有一天挽救你的脖子。權(quán)衡此問(wèn)題的不同答案時(shí),請(qǐng)考慮將變量名稱的重復(fù)計(jì)算為您決定的標(biāo)準(zhǔn)之一。有些答案有不少重復(fù),有些則沒(méi)有。


查看完整回答
反對(duì) 回復(fù) 2019-05-24
?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊


這里有很多優(yōu)秀的答案,但是dplyr提供了我能夠快速且容易記住的唯一語(yǔ)法(現(xiàn)在經(jīng)常使用):


library(dplyr)

# sort mtcars by mpg, ascending... use desc(mpg) for descending

arrange(mtcars, mpg)

# sort mtcars first by mpg, then by cyl, then by wt)

arrange(mtcars , mpg, cyl, wt)

對(duì)于OP的問(wèn)題:


arrange(dd, desc(z),  b)


    b x y z

1 Low C 9 2

2 Med D 3 1

3  Hi A 8 1

4  Hi A 9 1


查看完整回答
反對(duì) 回復(fù) 2019-05-24
  • 4 回答
  • 0 關(guān)注
  • 1829 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)