我有一个这样的数据框
df <- data.frame(letters=letters[1:5], numbers=seq(1:5))
假设我想将第一列提取到列表中
firstColumn <- df[,1]
> firstColumn[[1]]
[1] a
Levels: a b c d e
问题是我想删除级别以拥有一个字符串
请问有什么帮助吗?
谢谢
从头开始将您的变量定义为字符:
df <- data.frame(letters=letters[1:5], numbers=seq(1:5), stringsAsFactors=FALSE)
或者之后转换它:
firstColumn <- as.character(df[,1])
如果我理解您的问题,那么您正在尝试转换为角色。
尝试
as.character(firstColumn[[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)