我试图找到一种方法将两列因子组合成一列而不将因子水平改为数字.例如,考虑以下两个data.frame数据集
dataset 1 dataset 2
Number Student Number Student
1 Chris 1 Matt
2 Sarah 2 Keith
Run Code Online (Sandbox Code Playgroud)
我正在尝试从数据集1中取出"学生"列,从数据集2中取出"学生"列,然后创建一个包含名称"Chris","Sarah","Matt"和"Keith"的大学生列.
我试过了:
student.list<-c(dataset1[,2],dataset2[,2])
student.list
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,因为名称变成带有c()函数的数字.我希望我的列表保留学生的姓名(即不将其转换为数字).我也试过cbind(),但是给出了与c()相同的问题......
谢谢
Ric*_*rta 12
factors 是碰巧有标签的数字.组合因子时,通常会将它们的数值组合在一起.这经常会使一个人绊倒.
如果你想要他们的标签,你必须使用它们将它们强制转换为字符串 as.character
student.list <- c( as.character(dataset1[,2]) ,
as.character(dataset2[,2]) )
Run Code Online (Sandbox Code Playgroud)
如果你想让它回到因素,将它全部包装as.factor (可以全部在一行中,或分成两行以便于阅读)
student.list <- c(as.character(dataset1[,2]),as.character(dataset2[,2]))
student.list <- as.factor(student.list)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35425 次 |
| 最近记录: |