Tôi có một phần của tập lệnh đã hoạt động tốt trước đây, nhưng gần đây đã tạo ra một câu lệnh kỳ lạ sau nhiều chức năng khác của tôi không hoạt động chính xác. Tôi đang cố gắng chọn vị trí thứ 8 và thứ 23 trong danh sách xếp hạng các giá trị cho mỗi trang web để tìm giá trị phần trăm 25 và 75 cho mỗi ngày trong một năm cho mỗi trang web trong 30 năm. Cách tiếp cận của tôi là như sau (điều chỉnh cho bốn dòng dữ liệu - lát (3) sẽ được lát (23) cho toàn bộ dữ liệu 30 năm tôi thường):Thông báo "Thêm các biến nhóm bị thiếu" trong dplyr trong R
library(“dplyr”)
mydata
structure(list(station_number = structure(c(1L, 1L, 1L, 1L), .Label = "01AD002", class = "factor"),
year = 1981:1984, month = c(1L, 1L, 1L, 1L), day = c(1L,
1L, 1L, 1L), value = c(113, 8.329999924, 15.60000038, 149
)), .Names = c("station_number", "year", "month", "day", "value"), class = "data.frame", row.names = c(NA, -4L))
value <- mydata$value
qu25 <- mydata %>%
group_by(month, day, station_number) %>%
arrange(desc(value)) %>%
slice(3) %>%
select(value)
Trước đây, tôi sẽ bị bỏ lại với một bảng mà có một giá trị trên mỗi trang web để mô tả phần trăm thứ 25 (vì hàm sắp xếp dường như đặt chúng cao nhất đến thấp nhất). Tuy nhiên, bây giờ khi tôi chạy các dòng này, tôi nhận được thông báo:
Adding missing grouping variables: `month`, `day`, `station_number`
Thông báo này không có ý nghĩa với tôi vì các biến nhóm rõ ràng có trong bảng của tôi. Ngoài ra, một lần nữa, điều này đã làm việc tốt cho đến gần đây. Tôi đã thử:
- detatch (“plyr”) - kể từ khi tôi có nó nạp trước dplyr
- dplyr :: group_by - đặt này trực tiếp trong dòng group_by
- gỡ cài đặt và tái intstalling dplyr, mặc dù đây là một vấn đề khác mà tôi đã gặp phải
Bất kỳ ý tưởng nào tại sao tôi có thể nhận được thông báo này và tại sao nó có thể ngừng hoạt động?
Cảm ơn bạn đã được trợ giúp.
Cập nhật: Thêm ví dụ về dput với một trang web, nhưng giá trị cho ngày 1 tháng 1 trong nhiều năm. Hy vọng sẽ là giá trị vị trí được trả về một khi được nhóm lại, ví dụ slice (3) hy vọng sẽ trả về giá trị 15.6 cho tập con nhỏ hơn này.
Thật kỳ lạ. Khi tôi chạy mã của bạn, nó nói 'Lỗi: tham nhũng 'grouped_df', chứa 0 hàng và 4 hàng trong nhóm'. Bạn không nhận được tin nhắn đó? Có thể bạn cần cung cấp cho chúng tôi nhiều dữ liệu ví dụ hơn. BTW nó rất thích hợp cho bạn để 'dput' dữ liệu. –
Tôi đã nhận được thông báo bị hỏng trước đó, đó là lý do tôi gỡ cài đặt và cài đặt lại dplyr - nhưng tôi nghi ngờ mã sẽ không hoạt động trên bit mà tôi đã cung cấp ở đó vì nó cần nhiều trang, tháng và ngày để nhóm - là một đoạn rất lớn vì vậy tôi đã hy vọng có thể nó chỉ là một vấn đề gói. Xin lỗi - Tôi mới đăng bài ở đây, không chắc chắn dput là gì - nhưng tôi sẽ xem xét nó. – acersaccharum
Chắc chắn, không sao cả. Vì vậy, dput ('? Dput') là lệnh R cốt lõi để tạo điều kiện chia sẻ dữ liệu. Trên StackOverflow, bạn được yêu cầu cung cấp ví dụ về vấn đề có thể tái sản xuất khi bạn khắc phục sự cố lỗi hoặc cảnh báo. Vì vậy, nếu tập dữ liệu của bạn có hàng triệu hàng và nó được gọi là 'mydata' đi vào R và thực hiện điều gì đó như 'dput (mydata [1: 1000,])' và dán kết quả vào pastebin.com và cung cấp cho chúng tôi liên kết chúng tôi có thể giúp bạn.Điều này giả định rằng có đủ dữ liệu trong 1.000 hàng đầu tiên để tái tạo sự cố của bạn. –