从基于状态的序列创建基于转换的序列

POT*_*NZA 4 r

我有一个包含顺序数据的数据框:
df <- data.frame(
t1=c("e","e","e"),t2=c("e","e","u"),t3=c("e","e","u"),t4=c("e","u","e"),t5=c("e","u","e"))

看起来像

> df
  t1 t2 t3 t4 t5
1  e  e  e  e  e
2  e  e  e  u  u
3  e  u  u  e  e
Run Code Online (Sandbox Code Playgroud)

我想将具有状态序列的数据帧转换为具有转换序列的数据帧,如下所示:

> dfNew
   t1  t2  t3  t4  t5
1  se  ee  ee  ee  ee
2  se  ee  ee  eu  uu
3  se  eu  uu  ue  ee
Run Code Online (Sandbox Code Playgroud)

其中"s"表示起始状态.

我很感激你的帮助.

Sve*_*ein 5

这是一种创建转换数据框的方法:

setNames(as.data.frame(t(apply(df, 1, 
                               function(x) 
                                 paste(c("s", head(x, -1)), x, sep = "")))),
                                                                       names(df))

  t1 t2 t3 t4 t5
1 se ee ee ee ee
2 se ee ee eu uu
3 se eu uu ue ee
Run Code Online (Sandbox Code Playgroud)