Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据R中的字母顺序为字符串指定数值_R_Rank - Fatal编程技术网

根据R中的字母顺序为字符串指定数值

根据R中的字母顺序为字符串指定数值,r,rank,R,Rank,我想在数据框中创建一个数字列,其中数字表示字符列中字符串的字母顺序 假设我创建了以下数据框: df您可以使用rank()进行此操作: df$alpha_order = rank(df$names) 我们可以使用因子和作为.integer因子将列转换为因子,默认值为级别,按字母顺序和为整数。整数强制级别为从1开始的整数存储值 df$alpha_order <- as.integer(factor(df$names)) df$alpha_订单谢谢!这对于OP中提到的示例非常有效,我现在看到

我想在数据框中创建一个数字列,其中数字表示字符列中字符串的字母顺序

假设我创建了以下数据框:

df您可以使用
rank()
进行此操作:

df$alpha_order = rank(df$names)

我们可以使用
因子
作为.integer
<代码>因子将列转换为
因子
,默认值为
级别
,按字母顺序和
为整数。整数
强制级别为从1开始的整数存储值

df$alpha_order <- as.integer(factor(df$names))

df$alpha_订单谢谢!这对于OP中提到的示例非常有效,我现在看到的示例过于简化,因为实际用例包含大量重复的名称。因此,即使Frank被多次提到,我还是希望所有具有“Frank”值的行都得到值1。基本
rank()
函数采用
ties.method
参数-有关详细信息,请参阅帮助页面
?rank
。您可以尝试
rank(df$name,ties.method=“min”)
,它将所有领带标记为最低等级。它将在以下关系中留下间隙,例如,
“Adam”、“Adam”、“Adam”、“Bob”
将获得
1、1、3
。如果您希望它是
1,1,2
,请改用
dplyr::densite\u rank