我想將因子列轉換爲數字列。我試過這個代碼: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