我想将因子列转换为数字列。我试过这个代码:df$col_name= as.numeric(as.character(df$col_name))
。 但是当我使用这段代码时,它使我只有一个只有NA值的列。我也尝试这种代码:df$Col_name <- as.character(df$Col_name)
它给出类似的标号列:1,2,2,3,3,4,5,6,6
,而我有以下数列:10,3;11,4;12,4;18,4
等我无法将因子列转换为R中的数字列
有谁现在我有代码使用?
我想将因子列转换为数字列。我试过这个代码:df$col_name= as.numeric(as.character(df$col_name))
。 但是当我使用这段代码时,它使我只有一个只有NA值的列。我也尝试这种代码:df$Col_name <- as.character(df$Col_name)
它给出类似的标号列:1,2,2,3,3,4,5,6,6
,而我有以下数列:10,3;11,4;12,4;18,4
等我无法将因子列转换为R中的数字列
有谁现在我有代码使用?
你可以这样做:
col_char=as.character(Geladen_Amsterdam$Gem_inkomen_Huishouden))
str_split <- strsplit(col_char,",")
indices <- which(sapply(1:nrow(Geladen_Amsterdam),function(x){
num <- as.numeric(str_split[[x]])
if (sum(num>0) == 2)
return (T)
else
return (F)
}))
这会给你可以用于进一步筛选的指标。
注意,只返回具有值> 0。也就是说,如果说,'10,2' 值时,它会返回其索引这些列的索引,否则如果是像‘7,0’ ,'0,7','0,0'等,它不会返回它的索引。
替代,
通过.
:
df <- data.frame(Gem_inkomen_Huishouden=as.factor(c("0,00","13,90")))
df$Gem_inkomen_Huishouden <- as.numeric(sub(",", ".", df$Gem_inkomen_Huishouden, fixed=T))
df$Gem_inkomen_Huishouden
# [1] 0.0 13.9
你先来了:) –
终于....; - > – lukeA
逗号的问题。使用GSUB改变逗号点,然后你可以转换为数字
a <- as.factor(c("10,3", "11,4", "12,4"," 18,4"))
a <- gsub("," , ".", a)
a <- as.numeric(as.character(a))
请出示的'$ DF col_name' – akrun
是吧'col_name'或'Col_name'的dput? –
我已更改名称以便于理解。我不使用两个名字。这是我使用的代码:Geladen_Amsterdam $ Gem_inkomen_Huishouden = as.numeric(as.character(Geladen_Amsterdam $ Gem_inkomen_Huishouden)) – user5543269