![](/img/trans.png)
[英]How do I create a new data.frame with the same column names and types as an existing data.frame?
[英]Create a new data.frame calculating average from an existing file
我有一個具有以下結構的數據框,我想創建一個新的數據框,以計算每個周期中每個端口的最后3個值的平均值。
date time julian_day port nh3 cycle
28.01.2019 09:44:52.657 28.44783 1 361.9 1
28.01.2019 09:44:54.206 28.44785 1 358.6 1
28.01.2019 09:44:56.012 28.44787 1 363.6 1
28.01.2019 09:44:57.836 28.44789 1 368.8 1
28.01.2019 09:44:59.637 28.44791 1 371.8 1
28.01.2019 09:45:01.427 28.44793 2 374.8 1
28.01.2019 09:45:03.226 28.44795 2 378.4 1
28.01.2019 09:45:05.026 28.44797 2 381.8 1
28.01.2019 09:45:06.828 28.44800 2 386.3 1
28.01.2019 09:45:08.637 28.44802 2 390.3 1
28.01.2019 09:45:10.457 28.44804 2 396.3 1
28.01.2019 09:45:12.269 28.44806 2 399.1 1
28.01.2019 09:45:13.917 28.44808 3 399.1 1
28.01.2019 09:45:15.483 28.44810 3 399.2 1
28.01.2019 09:45:17.315 28.44812 3 398.1 1
28.01.2019 09:45:19.125 28.44814 3 397.5 1
28.01.2019 09:45:20.934 28.44816 3 396.1 1
28.01.2019 09:45:22.755 28.44818 4 394.9 1
28.01.2019 09:45:24.563 28.44820 4 390.6 1
28.01.2019 09:45:26.378 28.44822 4 387.1 1
28.01.2019 09:45:28.193 28.44824 4 384.9 1
28.01.2019 09:45:30.013 28.44826 4 382.7 1
28.01.2019 09:45:31.812 28.44828 5 381.8 1
28.01.2019 09:45:33.615 28.44831 5 380.6 1
28.01.2019 09:45:35.276 28.44832 5 380.6 1
28.01.2019 09:45:36.834 28.44834 5 382.2 1
28.01.2019 09:45:38.647 28.44836 5 385.5 1
28.01.2019 09:45:40.456 28.44838 5 387.3 1
28.01.2019 09:45:42.266 28.44841 1 386.3 2
28.01.2019 09:45:44.065 28.44843 1 384.6 2
28.01.2019 09:45:45.875 28.44845 1 382.4 2
28.01.2019 09:45:47.703 28.44847 2 381.1 2
28.01.2019 09:45:49.516 28.44849 2 380.5 2
28.01.2019 09:45:53.167 28.44853 2 375.2 2
28.01.2019 09:45:54.973 28.44855 2 370.8 2
28.01.2019 09:45:56.615 28.44857 2 370.8 2
28.01.2019 09:45:58.157 28.44859 3 413.1 2
28.01.2019 09:45:59.956 28.44861 3 439.2 2
28.01.2019 09:46:01.755 28.44863 3 470.7 2
28.01.2019 09:46:03.585 28.44865 3 473.6 2
28.01.2019 09:46:05.408 28.44867 4 482.6 2
28.01.2019 09:46:07.232 28.44869 4 483.1 2
28.01.2019 09:46:09.055 28.44872 4 506.1 2
28.01.2019 09:46:10.869 28.44874 4 504.6 2
28.01.2019 09:46:12.693 28.44876 4 504.8 2
28.01.2019 09:46:14.510 28.44878 5 508.7 2
28.01.2019 09:46:16.332 28.44880 5 508.5 2
28.01.2019 09:46:18.006 28.44882 5 508.5 2
28.01.2019 09:46:19.581 28.44884 5 503.9 2
28.01.2019 09:46:21.395 28.44886 5 502.4 2
28.01.2019 09:46:23.214 28.44888 5 494.9 2
預期產量
port nh3 cycle
1 value1 1
2 value2 1
3 value3 1
4 value4 1
5 value5 1
1 value6 2
2 value7 2
3 value8 2
4 value9 2
5 value10 2
假設您的data.frame稱為DF
:
DF %>% arrange(port,desc(julian_day)) %>% group_by(cycle,port) %>% summarize(mean3_nh3 = mean(nh3[1:3],na.rm=TRUE))
desc(julian_day)
排列mean(nh3[1:3]...
從最新到舊(如果您要這樣),並且mean(nh3[1:3]...
取3個最新(最新)值的平均值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.