R中的数据操作

数据挖掘 r
2022-02-23 08:32:45

我有一个长数据框,其中包含属于同一变量的 96 个连续观察。我有两个这样的变量。一个变量是用“param2(kWh)”表示的能量,另一个是用“param2(kW)”表示的需求。所以数据框就像---

第一行有描述为“间隔”和“参数 2(千瓦时)”的变量,然后是属于能源变量的 96 个观测值,然后是第 98 行有描述为“间隔”和“参数 2(千瓦)”的变量,然后是属于需求的 96 个观测值多变的。

之后再次出现描述为“Interval”和“param2(kWh)”的行,然后是属于 Energy 变量的 96 个观测值。之后又有一行描述变量“Interval”和“param2(kW)”以及属于需求变量的 96 个观测值,这两个变量(即能源和需求)的这种交织持续很长时间。

目标是有两个单独的数据帧,一个用于能源,即“param2(kWh)”,另一个用于需求,即“param2(kW)”。这两个数据帧是如何由上面的单个数据帧组成的呢?

我附上了数据框的网站。

https://1drv.ms/f/s!Apm2LEjQkhz3aNBBoUygHPMz2_E

1个回答

这是基于数据生成两个数据帧的一种方法。

# read data
dat <- read.csv("sample csv1.csv", stringsAsFactors = FALSE, header = FALSE)

# find rows containing "Interval"
idx_int <- dat[[1]] == "Interval"

# calculate groups
group <- cumsum(idx_int) %% 2

# remove indices for "Interval" rows
group2 <- group[!idx_int]

# split data frame into two data frames
dat_list <- split(dat[!idx_int, ], group2)

# generate two separate data frames
dat_energy <- dat_list[[2]]  # Energy
dat_demand <- dat_list[[1]]  # Demand