簡體   English   中英

從 Python 到 R 的簡單轉換

[英]Simple translation from Python to R

我正在嘗試學習 R 但不能完全掌握語法。 Python 對我來說更直觀。 我正在使用 R 中的nycflights13玩具數據集,以及如何弄清楚如何進行這個簡單的執行

test = df.groupby('tailnum').agg({'flight':'count','arr_delay':'sum'})
test[(test.flight>=12)].sort_values(by='arr_delay',ascending=False)

並得到


      flight arr_delay
tailnum     
N15910  280 7317.0
N15980  316 7134.0
N16919  251 6904.0
N228JB  388 6778.0
N14998  230 6087.0
... ... ...
N711ZX  291 -2154.0
N722TW  314 -2199.0
N721TW  318 -2285.0
N718TW  328 -2335.0
N727TW  275 -2642.0

我嘗試了以下方法,但數字已關閉。 我錯過了一些東西。

test <- flights %>%
  group_by(tailnum) %>%
    filter(n()>=12) %>%
  summarize(total_delay = sum(arr_delay))

test[order(test$total_delay,decreasing = FALSE),]

並得到


tailnum total_delay
<chr>   <dbl>
N961UW  -1197           
N37700  -1148           
N3754A  -1084           
N847VA  -1006   
...
N179JB  4449    

簡而言之,python 用戶是 R 的完全菜鳥,並試圖變得更好,請幫助

默認情況下,R 在取summean時不會刪除NA值,添加na.rm. =TRUE na.rm. =TRUE並使用arrange對數據進行排序。

library(nycflights13)
library(dplyr)

flights %>%
  group_by(tailnum) %>%
  summarise(flight = n(), 
            arr_delay = sum(arr_delay, na.rm = TRUE))   %>%
  filter(flight >= 12) %>%
  arrange(desc(arr_delay))

#  tailnum flight arr_delay
#   <chr>    <int>     <dbl>
# 1 N15910     280      7317
# 2 N15980     316      7134
# 3 N16919     251      6904
# 4 N228JB     388      6778
# 5 N14998     230      6087
# 6 N192JB     319      5810
# 7 N292JB     322      5804
# 8 N12921     280      5788
# 9 N13958     259      5620
#10 N10575     289      5566
# … with 3,369 more rows

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM