我有一个使用csv文件创建的数据框。它是一个简单的任务来计算学生的当前年龄。我有一个名为birthyear的字段。对于少数学生,该字段之间具有NULL值。我正在运行以下代码:
df <- read.csv("students.csv", header = TRUE)
df$age <- (2017-as.numeric(df$birthyear))
我没有达到正确的年龄。相反,我得到与字段df$birthyear
相同的结果。在仅仅运行as.numeric(df$birthyear)
时,我希望得到一年,即1994年,1995年,1988年等,但我得到的是下面的
1994年,我到了53岁 1980年,我得到39岁等等。
无法理解为什么我得到这些整数值,我应该得到年份。
答案 0 :(得分:0)
看起来将出生年份作为字符串导入,然后自动转换为因子。当您致电as.numeric
时,它会返回级别代码而不是标签。尝试将stringsAsFactors
设置为FALSE
来导入数据。
df <- read.csv("students.csv", stringsAsFactors=FALSE)