为什么数据类型会变成;合乎逻辑的?R

为什么数据类型会变成;合乎逻辑的?R,r,variables,R,Variables,我有一个按邮政编码组织的数据框(称为“df”)。我想将“Zip”更改为数字数据类型,但当我应用“is.numeric”时,它会将其转换为“逻辑”数据类型。当我尝试将其他变量从“数值”转换为“字符”或任何其他数据类型时,它也将其转换为“逻辑”数据类型。 我尝试更改变量数据类型的代码行: df$Zip = is.numeric(df$Zip) df$Zip = is.numeric(is.character(df$Zip)) 数据概述: 'data.frame': 32989 obs. of

我有一个按邮政编码组织的数据框(称为“df”)。我想将“Zip”更改为数字数据类型,但当我应用“is.numeric”时,它会将其转换为“逻辑”数据类型。当我尝试将其他变量从“数值”转换为“字符”或任何其他数据类型时,它也将其转换为“逻辑”数据类型。 我尝试更改变量数据类型的代码行:

df$Zip = is.numeric(df$Zip)
df$Zip = is.numeric(is.character(df$Zip))
数据概述:

'data.frame':   32989 obs. of  22 variables:
 $ Zip             : Factor w/ 32990 levels "01001","01002",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ MedianAge       : num  45.8 23.6 19.9 45.4 43.8 49.9 66.2 48.1 39.9 43.2 ...
 $ MedianAgeMale   : num  43.2 23.4 19.9 42.8 40.8 51.3 68.1 46.1 39.9 44.4 ...
我的主要目标是创建一个子集,其中仅包含范围为90001:97635的邮政编码,并带有以下行:

CAzipcodes = subset(df,Zip>90001 & Zip<97635)

CAzipcodes=子集(df,Zip>90001&Zip来自文档:

is.numeric的默认方法在其参数为的情况下返回TRUE 模式“数值”(类型“双精度”或类型“整数”)而不是因子,以及 否则为FALSE。也就是说,is.integer(x)| is.double(x)或(mode(x) ==“数值”)&&!是系数(x)

所以你想要:

df$Zip = as.numeric(df$Zip)
或使用dplyr和管道

df %<>% mutate(Zip = as.numeric(Zip))
df%%mutate(Zip=as.numeric(Zip))

您需要将
用作.numeric()
是.numeric()
是真是假。