簡體   English   中英

重新格式化打印輸出並將其保存為 R 中的 data.frame

[英]refrormating the output of print and save it as a data.frame in R

我正在嘗試重新格式化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)

所需的輸出(部分顯示以節省空間):

在此處輸入圖片說明

如果我們轉換成table ,可以使用meltreshape2

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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM