gpt4 book ai didi

r - 将数据帧行转换为字符向量时出错

转载 作者:行者123 更新时间:2023-12-01 01:01:49 24 4
gpt4 key购买 nike

所以我有以下数据框,datafr。

          X1            X2               X1.1          X2.1              
Composite Element Composite Element
14-3-3_epsilon-M-C -0.8660101895 14-3-3_epsilon-M-C -0.6814387425
4E-BP1_pS65-R-V 0.1056560215 4E-BP1_pS65-R-V 0.1787506005
4E-BP1_pT37T46-R-V 0.6408257495 4E-BP1_pT37T46-R-V -0.7485933875
4E-BP1_pT70-R-C 0.6413568085 4E-BP1_pT70-R-C 0.9554481415

我想让第二行成为列名,所以我看行
datafr[1,]

一切都理所当然
        X1      X2      X1.1      X2.1   
Composite Element Composite Element

但是,当我将其转换为字符向量时,我将单词更改为数字...
as.character(c(datafr[1,]))
[1] "49" "161" "49" "161"

到底是怎么回事?

最佳答案

问题是你的 data.frame 列不是字符而是因子(阅读 R 介绍中的差异。)

你必须这样做:

as.character(unlist(datafr[1, ]))

从当前数据中获取字符向量。但是,您可能希望在代码中上游修复您的问题:

您可以尝试确保您的 data.frame 首先不包含因素。大多数情况下,这是通过添加 stringsAsFactors = FALSE 来完成的。功能如 data.frame , as.data.frame , read.table , read.csv你可能在哪里使用过它们。如果您使用 read.table在某个地方,我强烈建议您也考虑使用 header = TRUE首先获得您想要的列名。

关于r - 将数据帧行转换为字符向量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22573664/

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