gpt4 book ai didi

r - 如何将数据类型 "Factor"转换为 R 中的数据类型 "numeric"?

转载 作者:行者123 更新时间:2023-12-04 05:42:38 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
How to convert a factor to an integer\numeric without a loss of information



我想计算(然后绘制计数)数组的唯一值:
data = c(1,2,3,4,5,2.1,1,2,1,2,1,4,5,7,8,9,6,5,4,3,2,2,1)
uniCount = as.data.frame(table(data))
uniCount$cumsum = cumsum(uniCount$Freq)

str(uniCount)

plot (uniCount$data, uniCount$Freq)
plot (uniCount$data, uniCount$cumsum)

但是,列的值 data不是“数字”而是“因子”。对我来说,数据类型 Factor 似乎是一个字符串关联数组。当我使用 as.numeric(uniCount$data)结果给出“1 2 3 4 5 6 7 8 9 10”

如何将数据类型“因子”转换为数据类型“数字”?
或者如何防止 R 将我的数值转换为 Facotr?

最佳答案

这可能对你有用

as.numeric(attr(uniCount$data,"levels"))


as.numeric(levels(uniCount$data))

如果你不想因子尝试
data = c(1,2,3,4,5,2.1,1,2,1,2,1,4,5,7,8,9,6,5,4,3,2,2,1)
uniCount = as.data.frame(table(data),stringsAsFactors =F)
uniCount$cumsum = cumsum(uniCount$Freq)

编辑:

感谢@Carl Witthoft,但是 ?factoras.numeric(levels(uniCount$data))[uniCount$data]推荐使用,比 as.numeric(as.character(uniCount$data)) 效率略高”

关于r - 如何将数据类型 "Factor"转换为 R 中的数据类型 "numeric"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com