1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
- library(dplyr)
- setwd('~/docs/znbt/photovoltaics/HuBeiShaYang/fullTable/')
- extract.station.id <- function(raw.info) {
- unlist(strsplit(raw.info, '-'))[2]
- }
- extract.dev.id <- function(raw.info) {
- t1 <- unlist(strsplit(raw.info, '-'))
- paste(t1[3], '00', t1[4], t1[5], sep = '')
- }
- probes <- 'probes.csv' %>%
- read.table(header = FALSE, sep = ',',
- col.names = c('pointID', 'fullDesc', 'remark'),
- colClasses = c('integer', 'character', 'integer')) %>%
- filter(remark==0) # 只取平单轴测点
- probes['STATION_ID'] <- sapply(probes$fullDesc, extract.station.id)
- probes['DEVICE_ID'] <- sapply(probes$fullDesc, extract.dev.id)
- probe.data <- 'final.csv' %>%
- read.table(header = FALSE, sep = ',',
- col.names = c('PROBEID', 'MONITOR_TIME', 'CURRENT_VALUE', 'VOLTAGE_VALUE',
- 'POWER_VALUE', 'IRRADIANCE', 'TEMPERATURE'),
- colClasses = c("integer", "POSIXct", rep("numeric", 5))) # %>%
- # filter(CURRENT_VALUE >= 0 & CURRENT_VALUE <=10)
- # 去掉无效电流值,这一步在算法中实现,不在此处(数据生成)实现
- probe.data %>%
- inner_join(probes, by = c('PROBEID' = 'pointID')) %>%
- select('STATION_ID', 'DEVICE_ID', 'MONITOR_TIME', 'VOLTAGE_VALUE', 'CURRENT_VALUE',
- 'POWER_VALUE', 'TEMPERATURE', 'IRRADIANCE') %>%
- arrange(DEVICE_ID, MONITOR_TIME) %>%
- write.csv(file = "resR.csv", quote = FALSE, row.names = FALSE)
- probe.data %>%
- inner_join(probes, by = c('PROBEID' = 'pointID')) %>%
- select('DEVICE_ID') %>%
- arrange(DEVICE_ID) %>%
- unique %>%
- write.csv(file = "devR.csv", quote = FALSE, row.names = FALSE)
- probe.data %>%
- inner_join(probes, by = c('PROBEID' = 'pointID')) %>%
- select('DEVICE_ID', 'MONITOR_TIME') %>%
- arrange(DEVICE_ID, MONITOR_TIME) %>%
- unique %>%
- write.csv(file = "devtimeR.csv", quote = FALSE, row.names = FALSE)
|