1
我正在努力研究如何將因子水平拆分爲取決於它們在時間序列中的位置的新水平。根據時間序列中的位置將因子水平分解爲新的水平
花一些玩具數據:
Time <- c(1:18)
Factor <- as.factor(c(1,1,1,2,2,2,3,3,3,1,1,1,2,2,2,3,3,3))
Value <- c(rnorm(18))
df <- data.frame(Time, Factor, Value)
str(df)
'data.frame': 18 obs. of 3 variables:
$ Time : int 1 2 3 4 5 6 7 8 9 10 ...
$ Factor: Factor w/ 3 levels "1","2","3": 1 1 1 2 2 2 3 3 3 1 ...
$ Value : num -0.728 -0.715 1.771 -0.54 -0.433 ...
有了這些數據,變量因子是用3個級別的因子。我想根據它在時間序列中的出現來分割各個級別。因此,第一次出現因子1的塊我想重命名1.1,1.1,1.1第二次出現我想重命名它1.2,1.2,1.2等
任何人都可以提出一個這樣做的方式? 五月真實數據有一個變量MIU_VALVE
這是一個因素,我不會應用任何建議的13個級別。這是我的真實數據的結構:
str(data1)
'data.frame': 85874 obs. of 19 variables:
$ Time : POSIXct, format: "2015-06-08 09:55:48" "2015-06-08 09:55:48" "2015-06-08 09:55:49" "2015-06-08 09:55:50" ...
$ [N2O]_ppm : num 0.333 0.333 0.334 0.333 0.333 ...
$ d15NA : num -17.9 -41.1 -49 -32.4 -29.2 ...
$ d15NB : num -28.4 -56.7 -21.2 -61.3 -59.7 ...
$ d18O : num -337 -291 -287 -284 -304 ...
$ d15N : num -23.2 -48.9 -35.1 -46.8 -44.4 ...
$ SP : num 10.5 15.6 -27.8 28.9 30.5 ...
$ [NNO]_ppm : num 0.328 0.328 0.328 0.328 0.328 ...
$ [NN15O]_ppm: num 0.00238 0.00233 0.00231 0.00235 0.00236 ...
$ [N15NO]_ppm: num 0.00236 0.00229 0.00238 0.00228 0.00228 ...
$ [NNO18]_ppm: num 0.000435 0.000466 0.000469 0.000471 0.000457 ...
$ [H2O]_ppm : num 33880 33817 34059 33714 33399 ...
$ GasP_torr : num 45.4 45.4 45.4 45.4 45.4 ...
$ GasT_C : num 41.3 41.3 41.3 41.3 41.3 ...
$ AmbT_C : num 42.2 42.2 42.2 42.2 42.2 ...
$ LTC0_v : num 0.0434 0.0434 0.0434 0.0434 0.0434 ...
$ AIN6 : num 1.16 1.16 1.16 1.16 1.16 ...
$ DetOff : num 1.13 1.13 1.13 1.13 1.13 ...
$ MIU_VALVE : Factor w/ 13 levels "1","2","3","4",..: 2 2 2 2 2 2 2 2 2 2 ...