使用r从命名列表中拉出对象

使用r从命名列表中拉出对象,r,model,data-manipulation,R,Model,Data Manipulation,我试图在tibble或dataframe中拉出psi术语及其相应的变量。当我尝试glm.fitted.segmented$..时,我不认为psi是一个选项。当我在RStudio的全局环境中单击模型对象时,我确实在xlevels:Named list()下看到了psi 理想情况下,我希望有一个数据帧,格式如下 Variable PSI Age 50 Age 53 off.set.term 4.369448 有人能

我试图在
tibble
dataframe
中拉出psi术语及其相应的变量。当我尝试
glm.fitted.segmented$..
时,我不认为
psi
是一个选项。当我在RStudio的全局环境中单击模型对象时,我确实在
xlevels:Named list()下看到了psi

理想情况下,我希望有一个
数据帧
,格式如下

 Variable         PSI
 Age              50
 Age              53
 off.set.term     4.369448
有人能帮我弄清楚怎么把这个东西拿出来吗?多谢各位

library(segmented)
library(tidyverse)

set.seed(1)
#create target variable
Y<-c(13,21,12,11,16,9,7,5,8,8) 
#create independent variables
X<-c(74,81,80,79,89,96,69,88,53,72)
age<-c(50.45194,54.89382,46.52569,44.84934,53.25541,60.16029,50.33870,
   51.44643,38.20279,59.76469)
#put together in data frame and develop initial model
dat=data.frame(Y=Y,off.set.term=log(X),age=age)
glm.fit=glm(Y~age+off.set.term,data=dat,family=poisson)

#fit segmented model
glm.fitted.segmented <- segmented(glm.fit, seg.Z=~age + off.set.term, psi = 
list(age = c(50,53), off.set.term = c(4.369448)))
summary(glm.fitted.segmented)
库(分段)
图书馆(tidyverse)
种子(1)
#创建目标变量

Y
psi
glm.fitted.segmented
的一个元素;您可以通过编写
str(glm.fitted.segmented)
查看其中的所有内容

见:

要使用行名(=本例中的变量名)创建表,请使用:


谢谢你@Jesse Tweedle。但是当我做psi2时,Jesse Tweedle的Nevermind。我用
as.data.frame
代替了
as__tible
,它成功了!谢谢。
as.data.frame
将保留行名,但如果您需要的话(特别是用于连接),行名将不是变量。我将更新以添加它们。我使用
rownames\u to\u column
强制将它们作为列。现在正在研究如何解析“psi1”。关闭。我在想
stru-split
。正如你可能知道的那样,我是一个新手,正在努力解决这个问题。
> glm.fitted.segmented$psi
                    Initial      Est.    St.Err
psi1.age          50.000000 51.847375 3.7901326
psi2.age          53.000000 57.873361 4.5794829
psi1.off.set.term  4.369448  4.313503 0.7814676
glm.fitted.segmented$psi %>% as.data.frame() %>% rownames_to_column()
            rowname   Initial      Est.    St.Err
1          psi1.age 50.000000 51.847375 3.7901326
2          psi2.age 53.000000 57.873361 4.5794829
3 psi1.off.set.term  4.369448  4.313503 0.7814676