我有一个像这样的数据框
df <- data.frame(letters=letters[1:5], numbers=seq(1:5))
并且假设我想将第一列列为列表
firstColumn <- df[,1]
> firstColumn[[1]]
[1] a
Levels: a b c d e
Problème是我想要删除级别以获得字符串
有什么帮助吗?
感谢
答案 0 :(得分:5)
从头开始将变量定义为字符:
df <- data.frame(letters=letters[1:5], numbers=seq(1:5), stringsAsFactors=FALSE)
之后转换它:
firstColumn <- as.character(df[,1])
答案 1 :(得分:2)
如果我理解你的问题,那你就试图转换为角色。
尝试
as.character(firstColumn[[1]])
答案 2 :(得分:0)
如果需要列表但没有级别,请首先将数据框的列作为矢量导入,然后将其转换为列表。这里是一线:
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)