Я делаю некоторый описательный анализ последовательности с использованием библиотеки "TraMineR".Я хочу сообщить о своих выводах через R-Markdown в формате html.Для форматирования таблиц я использую "kable" и "kableExtra".Для получения частоты и предложений наиболее распространенных последовательностей я использую seqtab()
.В результате получается объект stslist.freq
.Когда я пытаюсь привести его к кадру данных, он не содержит частот и пропорций.
Я попытался напечатать результаты seqtab()
и сохранить его снова.Это дает мне тот фрейм данных, который я хочу.Однако есть две «проблемы» с этим: (1) я не понимаю, что здесь происходит, и это выглядит как «грязный трюк», (2) в результате я также получаю вывод команды print в моем финалеHTML-документ, если я не разделяю код на несколько частей и отключаю вывод в конкретном фрагменте.
Вот некоторый код, чтобы повторить проблему:
library("TraMineR")
#Data creation
data.long <- data.frame(
id=rep(1:50, each=4),
time = c(0,1,2,3),
status = sample(letters[1:2], 200, replace = TRUE),
weight=rep(runif(50, 0, 1), each=4)
)
#reshape
data.wide <- reshape(data.long, v.names = "status", idvar="id", direction="wide", timevar="time")
#sequence
sequence <- seqdef(data.wide,
var=c("status.0", "status.1", "status.2", "status.3"),
weights=data.wide$weight)
#frequencies of sequences
##doesn't work:
seqtab.df1 <- as.data.frame(seqtab(sequence))
##works:
seqtab.df2 <- print(seqtab(sequence))
Я ожидаю, что кадр данных будет таким же, как тот, который сохранен в seqtab.df2
, однако либо без использования команды печати, либо с«без вывода сообщений» (вывод не выводится) с помощью команды печати.
Большое спасибо за помощь и дайте мне знать, если я что-то забыл, чтобы ответить на вопрос!