将数据框转换为命名向量

时间:2020-02-02 17:45:28

标签: r list dataframe

我在dfm上应用了一个模型(wordscore)。结果,我得到了一个输出对象,其类别为“ textmodel_wordscores”,“ textmodel”,“ list”。我对输出“ wordscores”感兴趣,它是一个“数字”对象(这是将 class 应用于该对象时的意思),如下所示:

           extensive      fiscal_stimulus              measure           operation  automatic_stabiliser 
          0.96765485           0.98292581          -0.70247675           0.63275195           0.75272326 
                will 
         -0.04568423

现在我有一个普通的数据框,其中包含两列,如下所示:

df <- data.frame(Words = c("commitment", "progress", "implement", "decision", "message", "deficit"), Score = c(-0.984345245754151, -0.983153011766781, -0.978586816039627, -0.977724303324149, -0.976291875611652, -0.975229993562152))

    Words              Score
1 commitment -0.984345245754151
2   progress -0.983153011766781
3  implement -0.978586816039627
4   decision -0.977724303324149
5    message -0.976291875611652
6    deficit -0.975229993562152

我希望此数据框成为与上面相同的格式。我试图转换为列表,但保留了双列框架。

2 个答案:

答案 0 :(得分:2)

您可以这样做:

with(df, setNames(Score, Words))

commitment   progress  implement   decision    message    deficit 
-0.9843452 -0.9831530 -0.9785868 -0.9777243 -0.9762919 -0.9752300 

答案 1 :(得分:1)

我们也可以使用deframe

library(tibble)
deframe(df)
#commitment   progress  implement   decision    message    deficit 
#-0.9843452 -0.9831530 -0.9785868 -0.9777243 -0.9762919 -0.9752300 

base R中,也可以使用names<-

with(df, `names<-`(Score, Words))