我使用rbind
函数在数据框中包含最后一行。我的数据框包含一个月份列以及包含来自不同数据库的一些值的其他4列。
我的数据看起来像这样
> dataframe
Months Nasa Meteonorm PVplanner PVGIS
1 Jan 157.41 166.146 101 204.671
2 Feb 167.3 164.346 110 183.123
3 Mar 153.9 169.925 164 173.039
4 Apr 165.97 154.83 185 167.025
5 May 159.86 149.374 215 144.779
6 Jun 144.27 148.937 226 150.542
7 Jul 165.33 163.396 230 166.003
8 Aug 184.07 182.777 219 192.91
9 Sep 176.41 181.575 179 202.416
10 Oct 203.17 163.724 140 209.492
11 Nov 131.26 143.759 106 180.635
我想要包含最后一行(第13行),提及所有值的总和。
total_Nasa <- sum(dataframe[1:12, 2])
total_Meteonorm <- sum(dataframe[1:12, 3])
total_PVplanner <- sum(dataframe[1:12, 4])
total_PVGIS <- sum(dataframe[1:12, 5])
total <- "Total"
last_row <- c(total, total_Nasa, total_Meteonorm, total_PVplanner, total_PVGIS)
"Total" "1954.95" "1943.191" "1965" "1965"
但是当我使用rbind
或dataframe[13, ] <- c(total, total_Nasa, total_Meteonorm, total_PVplanner, total_PVGIS)
我收到以下警告信息。我不知道如何添加“总计”这是一个因素以及这些求和值。
Warning message:
In `[<-.factor`(`*tmp*`, iseq, value = "Total") :
invalid factor level, NA generated
这是将数据帧与数据帧合并后我的数据帧的样子。
> dataframe
Months Nasa Meteonorm PVplanner PVGIS
1 Jan 157.41 166.146 101 204.671
2 Feb 167.3 164.346 110 183.123
3 Mar 153.9 169.925 164 173.039
4 Apr 165.97 154.83 185 167.025
5 May 159.86 149.374 215 144.779
6 Jun 144.27 148.937 226 150.542
7 Jul 165.33 163.396 230 166.003
8 Aug 184.07 182.777 219 192.91
9 Sep 176.41 181.575 179 202.416
10 Oct 203.17 163.724 140 209.492
11 Nov 131.26 143.759 106 180.635
12 Dec 146 154.402 90 174.406
13 <NA> 1954.95 1943.191 1965 1965
我想要“Total”而不是NA。即使将因子级别指定为
,我也遇到了同样的问题dataframe_plot$Months <- factor(dataframe_plot$Months, levels = c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "Total"))
我也尝试过在最后一行制作一个我想要的值列表,但仍会得到相同的警告。
请指导我如何解决这个问题。
此致