3

我有一个这样的数据框

    df <- data.frame(letters=letters[1:5], numbers=seq(1:5))

假设我想将第一列提取到列表中

firstColumn <- df[,1]

>  firstColumn[[1]]
[1] a
Levels: a b c d e

问题是我想删除级别以拥有一个字符串

请问有什么帮助吗?

谢谢

4

3 回答 3

6

从头开始将您的变量定义为字符:

df <- data.frame(letters=letters[1:5], numbers=seq(1:5), stringsAsFactors=FALSE)

或者之后转换它:

firstColumn <- as.character(df[,1])
于 2013-05-27T10:06:15.697 回答
3

如果我理解您的问题,那么您正在尝试转换为角色。

尝试

as.character(firstColumn[[1]])
于 2013-05-27T10:06:23.197 回答
1

如果您想要一个列表但没有级别,请首先将数据框的列导入为向量,然后将其转换为列表。这里是单线:

firstColumn_list <- as.list(as.vector(df[,1]))

您还可以使用drop.levels包中的功能gdata

firstColumn_list <- as.list(df[,1])
firstColumn_list_wo_levels <- gdata::drop.levels(firstColumn_list)
于 2018-07-17T12:49:03.040 回答