首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将dataframe或R对象的列名添加到另一个dataframe

将dataframe或R对象的列名添加到另一个dataframe
EN

Stack Overflow用户
提问于 2020-02-17 15:13:42
回答 2查看 88关注 0票数 0

我目前正在处理单细胞测序的巨大计数矩阵.

所以,为了用R和我的8GB内存来分析它们,我不得不把它们分成几个子矩阵。

为了做到这一点,我简单地使用了split,所以我松开了矩阵的头。

所以,我想把它们加回R或者找到一个更好的方法来更有效地分割它们。

我的问题是:

1.如果有一个名为heathers的对象,其中存储了所有的列名,那么是否有一种方法可以有效地将该对象添加到dataframe中?我试过rbind,但这并不能真正解决问题。

2.是否有更好的方法将这些庞大的计数矩阵分割成多个部分?(我不能通过R来实现,因为我没有足够的RAM,如果我试图导入整个矩阵,R就会崩溃)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-17 15:20:01

  1. 如果有一个名为heathers的对象,其中存储了所有的列名,那么有什么方法可以有效地将这个对象添加到dataframe中呢?我试过重新绑定,但这并不能真正解决问题。

您可以将标题添加到这样的数据文件中:

代码语言:javascript
复制
dataframe <- data.frame(c("a", "b","c"),
                        c("d", "e", "f"))

headers <- c("header_1" , "header_2")

names(dataframe) <- headers

dataframe

  header_1 header_2
1        a        d
2        b        e
3        c        f

  1. 您可以使用bash来执行这些任务.
票数 0
EN

Stack Overflow用户

发布于 2020-02-17 15:19:51

您可以使用data.frame函数访问和更改names的列名:

代码语言:javascript
复制
df <- data.frame(foo = 1:5, bar = 6:10, opt = 11:15)

original_names <- names(df)


original_names 

返回:

代码语言:javascript
复制
[1] "foo" "bar" "opt"

并指定新的名称:

代码语言:javascript
复制
names(df) <- c("new_col1", "new_col2", "new_col3")

现在:

代码语言:javascript
复制
df

返回:

代码语言:javascript
复制
  new_col1 new_col2 new_col3
1        1        6       11
2        2        7       12
3        3        8       13
4        4        9       14
5        5       10       15

并“撤销”重命名:

代码语言:javascript
复制
names(df) <- original_names

df又有了它的原始名称:

代码语言:javascript
复制
  foo bar opt
1   1   6  11
2   2   7  12
3   3   8  13
4   4   9  14
5   5  10  15
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60265381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档