我有这样的数据:
一组由10个字符变量组成的数据。
一个长这样的数据框。
我想做的是向数据框添加第三列,逻辑是1=A,2=B,3=C等等。因此最终结果将是:
对于这个简单的示例,我可以采用类似于以下问题的简单替换: 基于另一列中的4个值创建新列 但是,我的实际数据集比这个简单的示例要大得多,具有比这更多的变量,因此像上面的答案中写出等价物并不可行。
因此,我想要一些代码,可以应用于一个更大的数据框。也许是通过循环遍历Col2的所有值,并将它们与Char的位置匹配。
一组由10个字符变量组成的数据。
Char<-c("A","B","C","D","E","F","G","H","I","J")
一个长这样的数据框。
Col1<-seq(1:25)
Col2<-c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5)
DF<-data.frame(Col1,Col2)
我想做的是向数据框添加第三列,逻辑是1=A,2=B,3=C等等。因此最终结果将是:
Col3<-c("A","A","A","A","A","B","B","B","B","B","C","C","C","C","C","D","D","D","D","D","E","E","E","E","E")
DF<-data.frame(Col1,Col2,Col3)
对于这个简单的示例,我可以采用类似于以下问题的简单替换: 基于另一列中的4个值创建新列 但是,我的实际数据集比这个简单的示例要大得多,具有比这更多的变量,因此像上面的答案中写出等价物并不可行。
因此,我想要一些代码,可以应用于一个更大的数据框。也许是通过循环遍历Col2的所有值,并将它们与Char的位置匹配。
1=Char[1] 2=Char[2] 3=Char[3]...... for the entire length of Col2
或者任何其他能够扩展到长而庞大的数据框的方法
Char[Col2]
给出了输出结果。这就是你需要的全部吗? - Pierre LChar
向量命名,它将充当查找表。names(Char) <- codes
。然后您可以使用Char[Col2]
,它将根据名称而非索引进行子集选择。 - Pierre L