переформатировать вывод print и сохранить его как data.frame в R - PullRequest
1 голос
/ 12 февраля 2020

Я пытаюсь переформатировать вывод print и сохранить его как data.frame. Мой желаемый результат показан ниже.

Мне было интересно, возможно ли достичь этой цели в BASE R? (Функциональный ответ высоко ценится.)

dat1 <- read.csv("https://raw.githubusercontent.com/izeh/m/master/bus.csv")

fit3 <- factanal(dat1, 9, data = dat1, rotation = "varimax")

print(fit3[[2]], cutoff = .5, digits = 2)

Желаемый вывод (показан частично для экономии места):

enter image description here

1 Ответ

1 голос
/ 12 февраля 2020

Если мы конвертируем в table, можем использовать melt из reshape2

out <- reshape2::melt(as.table(fit3[[2]]))
head(out)
#  Var1    Var2       value
#1   Q1 Factor1  0.22366038
#2   Q2 Factor1  0.17247766
#3   Q3 Factor1  0.13137496
#4   Q4 Factor1  0.05196747
#5   Q5 Factor1 -0.02885493
#6   Q6 Factor1  0.24943613

Или в base R

transform(subset(as.data.frame.table(fit3[[2]]), Freq >= 0.5),
      Var2 = sub("\\D+", "", Var2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...