为每个循环转换为数值

时间:2018-12-13 13:19:41

标签: r dataframe foreach

我对数据帧的操作有疑问。如果以这个数据框为例:

String 1 = 1010001101011111
String 2 = 1100011010000110

现在,我想将位置转换为数字值。我知道我可以做这样的事情:

 employee <- c('John Doe','Peter Gynn','Jolie Hope')
 salary <- c(21000, 23400, 26800)
 startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14'))
 location <- c('New York', 'Alabama','New York')
 employ.data <- data.frame(employee, salary, startdate, location)
 employ.data

        employee salary  startdate location
1   John Doe  21000 2010-11-01 New York
2 Peter Gynn  23400 2008-03-25  Alabama
3 Jolie Hope  26800 2007-03-14 New York

但是在我的最终数据集中,有数百种不同的值。例如,是否可以在此处为每个语句使用a?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果它已经是一个因子变量,则只需将其转换为整数即可。

employ.data$location <- as.integer(employ.data$location)
employ.data
#    employee salary  startdate location
#1   John Doe  21000 2010-11-01        2
#2 Peter Gynn  23400 2008-03-25        1
#3 Jolie Hope  26800 2007-03-14        2

否则将转换为因数,然后转换为整数,即

employ.data$location <- as.integer(as.factor(employ.data$location))