gpt4 book ai didi

r - 如何将打印函数输出放入数据框中

转载 作者:行者123 更新时间:2023-12-05 01:26:59 25 4
gpt4 key购买 nike

我想将打印函数输出转换为数据帧对象。我使用了这段代码,但我只得到最后一行作为数据帧行。这是一个玩具数据框:

df <- read.table(text = " target birds    wolfs     
32 9 7
56 8 4
11 2 8
22 2 3
33 8 3
54 1 2
34 7 16
66 1 5
74 17 7
52 8 7
45 2 7
65 20 3
99 6 3
88 1 1
77 3 11
55 30 1 ",header = TRUE)

for(i in names(df))

{
fit <- lm(df[,i] ~ target, data=df) #does a regression per column
res<- summary(fit)$r.squared
b<-print(paste(res,i))
}
# I got this output from the print function :
[1] "1 target"
[1] "0.0110699859137896 birds"
[1] "0.07231285430469 wolfs"

如何将此输出转换为包含两列的数据框:第一列用于值 (1,0.11,0.07),第二列用于名称 (target,birds,wolfs)我尝试使用此命令,但只得到打印输出的 las 行:

b1<-as.data.frame(b)
b1
b
1 0.07231285430469 wolfs

最佳答案

我只会运行一个简单的sapply

data.frame(Col = names(df), 
Rsqrd = unname(sapply(df, function(x) summary(lm(x ~ df$target))$r.squared)))
# Col Rsqrd
# 1 target 1.00000000
# 2 birds 0.01106999
# 3 wolfs 0.07231285

关于r - 如何将打印函数输出放入数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33778057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com