通过扫描数据框中的文本字符串来添加研究编号

时间:2015-10-29 05:33:33

标签: r dataframe

我想知道如何添加学习数字而不是学习名称。这是一个例子:

我的原始数据框有一个SOURCE列,如下所示:

df <- 
SOURCE
studyA
studyB
studyC
studyA

如何为研究提供唯一的数字来源?结果应该是这样的:

df <- 
SOURCE   STUDY
studyA   1
studyB   2
studyC   3
studyA   1

基本上可以扫描SOURCE列,并在找到新研究时给出数字。

1 个答案:

答案 0 :(得分:1)

我们可以将'SOURCE'列转换为factor类,将levels指定为'SOURCE unique numeric`类的and coerce to元素。

df$STUDY <- as.numeric(factor(df$SOURCE, levels= unique(df$SOURCE)))

或者我们match unique SOURCE df$STUDY <- with(df, match(SOURCE, unique(SOURCE))) df # SOURCE STUDY #1 studyA 1 #2 studyB 2 #3 studyC 3 #4 studyA 1 元素来获取数字索引。

{{1}}