我有一个数据框(df),其中包含一些分解列:
col1 (numeric factor) col2 (char factor) col3 (ord factor p < r < c)
1 a r
2 b p
3 c c
1,2,3 are numeric factors, a,b,c are char factors and col3 p,r,c are ord factor column.
请告知我如何将所有这些内容转换为数字和字符 使col1的类型为数字,col2和col3的类型为char。 请帮助我如何在数据框中找到ord因子变量?
感谢。
答案 0 :(得分:4)
我们可以通过循环遍历列,转换为character
然后使用type.convert
df1[] <- lapply(df1, function(x) type.convert(as.character(x), as.is = TRUE))
df1 <- data.frame(col1 = c('1', '2', '3'), col2 = c('a', 'b', 'c'),
col3 = ordered(c('p', 'r', 'c')))
答案 1 :(得分:0)
通过试验和错误挖掘一些,我认为这是一个优雅的解决方案: 名称(x [sapply(x,is.ordered)]) 你有什么专家的想法?