美文网首页生信修炼
R数据框选中某列之后不降为成列表

R数据框选中某列之后不降为成列表

作者: LeoinUSA | 来源:发表于2018-07-12 21:48 被阅读5次

1. 问题

数据处理中一个令人头疼的事情是选中数据框中的某列时经常会被降维成列表而不是保持原来数据框的结构,如下:

student <- data.frame(ID=c(11,12,13),Name=c("Devin","Edward","Wenli"),Gender=c("M","M","F"))
student
数据框

当我们想得到name这一行的时候会采用以下方法

name1 <- student$Name
name2 <- student[,2]
str(name1)
str(name2)
#Factor w/ 3 levels "Devin","Edward",..: 1 2 3
#Factor w/ 3 levels "Devin","Edward",..: 1 2 3

可以看到数据都是factor类型的,没有保持为数据框,而这是不方面的

2. 解决

我们可以利用以下两种方式避免这种情况的发生

name3 <- student[,2,drop = FALSE]
name4 <- student["Name"]
str(name3)
str(name4)
#'data.frame':  3 obs. of  1 variable:
#$ Name: Factor w/ 3 levels "Devin","Edward",..: 1 2 3
#'data.frame':  3 obs. of  1 variable:
#$ Name: Factor w/ 3 levels "Devin","Edward",..: 1 2 3

其中注意双中括号和单双括号的区别

name5 <- student[["Name"]]
str(name5)
#Factor w/ 3 levels "Devin","Edward",..: 1 2 3

双中括号类似于$功能了。

相关文章

  • R数据框选中某列之后不降为成列表

    1. 问题 数据处理中一个令人头疼的事情是选中数据框中的某列时经常会被降维成列表而不是保持原来数据框的结构,如下:...

  • 数据框列的索引与排序

    问题: 在R中,如何对数据框的列进行重新排序? 指南: 上述对数据框进行索引的方式是将其看作是一个列表(数据框在实...

  • 缓存数据框

    搜索列表框 + 操作列表数据源添加数据:1.添加搜索框输入数据2.搜索不到列表项才能添加3.删除搜索到的选中列表项

  • R基础-列表list()

    列表类型用来保存不同类型的数据,实际上,数据框也是列表的一种,但是数据框要求各列等长, 而列表不要求。 语法 列表...

  • R语言数据框添加行或列数据2021.5.28

    1 数据框添加固定某行或某列数据 1.1 data.frame函数合并数据 将原始数据和要添加的某列用data....

  • R语言Data Frame数据框常用操作

    R语言Data Frame数据框常用操作 Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成...

  • 数据框列的增删 丨数析学院

    问题: 在R中,如何增添或删除数据框中的列? 指南

  • 脚本 | Shell | awk直接根据列名处理数据框

    1. awk直接根据列名处理数据框 R中tidyverse处理数据框非常方便,可以根据列名操作相应的列。awk 总...

  • R之rbind.fill

    我们总结下R中合并数据框的方法,按列合并cbind()函数,按行合并rbind()函数那么如果对于行列不统一的数据...

  • 2019.2.28前端小结

    一 下拉选择框 1 使用数据初始化选择框2 selected选中的是一个列表类型 参考 https://cn.vu...

网友评论

    本文标题:R数据框选中某列之后不降为成列表

    本文链接:https://www.haomeiwen.com/subject/myfdpftx.html