I am trying to create a sequence object with seqdef
using SPELL format. Here is an example of my data:
spell <- structure(list(ID = c(1, 3, 3, 4, 5, 5, 6, 8, 9, 10, 11, 11,
12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
15, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19,
19), status = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 2, 3, 1, 2, 3, 2, 3, 1, 1, 1, 3, 1, 3, 3, 1, 3, 1, 1, 1,
1, 1, 3, 3, 1, 3, 1, 1, 1), time1 = c(1, 1, 57, 1, 1, 91, 1,
1, 1, 1, 1, 104, 1, 1, 60, 109, 121, 1, 42, 47, 54, 64, 72, 78,
85, 116, 1, 29, 39, 69, 74, 78, 88, 1, 16, 40, 68, 1, 30, 123,
1, 39, 51, 1, 61), time2 = c(125, 57, 125, 125, 91, 125, 125,
125, 125, 125, 104, 125, 125, 60, 109, 121, 125, 42, 47, 54,
64, 72, 78, 85, 116, 125, 29, 39, 69, 74, 78, 88, 125, 16, 40,
68, 125, 30, 123, 125, 39, 51, 125, 61, 125)), .Names = c("ID",
"status", "time1", "time2"), row.names = c(NA, 45L), class = "data.frame")
When I try to define the sequence object, a strange error is thrown:
spell.seq <- seqdef(data=spell, informat="SPELL", id="ID", begin="time1", end="time2",
status="status", limit=125,process=FALSE)
[>] time axis: 1 -> 125
[>] SPELL data converted into 17 STS sequences
[>] 3 distinct states appear in the data:
1 = 1
2 = 2
3 = 3
[>] state coding:
[alphabet] [label] [long label]
1 1 1 1
2 2 2 2
3 3 3 3
[>] 17 sequences in the data set
[>] min/max sequence length: 125/125
Error in `row.names<-.data.frame`(`*tmp*`, value = value) :
invalid 'row.names' length
However, if I do the same indirectly via seqformat
, preserving the same arguments, no error is thrown:
sts <- seqformat(data=spell,from="SPELL",to="STS",
id="ID",begin="time1",end="time2",status="status",
limit=125,process=FALSE)
seqs <- seqdef(sts,right="DEL")
Using TraMineR 1.8-5 with R 3.0.0 Windows 7 64-bit. Is this a bug or am I doing something wrong? Thanks in advance.