Tôi đang cố gắng chạy phân tích đối sánh tối ưu bằng TraMineR nhưng có vẻ như tôi đang gặp sự cố với kích thước của tập dữ liệu. Tôi có một tập dữ liệu lớn của các quốc gia châu Âu có chứa phép thuật việc làm. Tôi có hơn 57.000 chuỗi dài 48 đơn vị và bao gồm 9 trạng thái riêng biệt. Để có được một ý tưởng về việc phân tích, đây là người đứng đầu của đối tượng chuỗi employdat.sts
:Sự cố với dữ liệu lớn (?) Trong khi tính toán khoảng cách trình tự bằng cách sử dụng TraMineR
[1] EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-...
[2] EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-...
[3] ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-...
[4] ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-...
[5] EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-...
[6] ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-...
Trong một định dạng SPS ngắn hơn, điều này lần đọc như sau:
Sequence
[1] "(EF,48)"
[2] "(EF,48)"
[3] "(ST,48)"
[4] "(ST,36)-(MS,3)-(EF,9)"
[5] "(EF,48)"
[6] "(ST,24)-(EF,24)"
Sau khi vượt qua đối tượng chuỗi này đến hàm seqdist()
, tôi nhận được thông báo lỗi sau:
employdat.om <- seqdist(employdat.sts, method="OM", sm="CONSTANT", indel=4)
[>] creating 9x9 substitution-cost matrix using 2 as constant value
[>] 57160 sequences with 9 distinct events/states
[>] 12626 distinct sequences
[>] min/max sequence length: 48/48
[>] computing distances using OM metric
Error in .Call(TMR_cstringdistance, as.integer(dseq), as.integer(dim(dseq)), : negative length vectors are not allowed
Lỗi này có liên quan đến số lượng lớn disti nct, chuỗi dài? Tôi đang sử dụng một máy x64 với RAM 4GB và tôi cũng đã thử nó trên một máy tính với bộ nhớ RAM 8 GB mà sao chép thông báo lỗi. Có ai đó biết cách giải quyết lỗi này không? Bên cạnh đó, phân tích cho từng quốc gia sử dụng cùng cú pháp với chỉ mục cho quốc gia hoạt động tốt và tạo ra kết quả có ý nghĩa.
vui lòng hiển thị mã của bạn – sashkello