我想在我的数据框中创建一个数字列,其中数字表示字符列中字符串的字母顺序。
因此,假设我创建了以下数据帧:
df <- data.frame (names = c("Frank","Jack","Peter"))
如何添加一个新列,其中Frank获得值1,Jack 2和Peter 3(基于名称的字母顺序)?
发布于 2021-03-18 19:09:17
您可以使用rank()
来执行以下操作:
df$alpha_order = rank(df$names)
发布于 2021-03-18 19:48:32
我们可以在as.integer
中使用factor
。factor
按字母顺序将列转换为factor
,默认级别为levels
,而as.integer
将级别强制为从1开始的整数存储值
df$alpha_order <- as.integer(factor(df$names))
https://stackoverflow.com/questions/66697560
复制相似问题