R 如何将具有数值字符数据类型的列转换为数值数据类型

R 如何将具有数值字符数据类型的列转换为数值数据类型,r,R,我有一些列。它们都有数值,但当我在R中导入它们时,它们似乎是字符数据类型。我想将这些字符转换为整数,并从包含它们的列中删除%符号 $Budget(chr)"3,000.00", "2,000.00", "2,000.00"... $Impressions(int) 0, 0, 0, 0... $Interactions(int) 0, 0, 0... $Interaction.Rate(chr) "0.00%", "0.00%", "0.00%"...

我有一些列。它们都有数值,但当我在R中导入它们时,它们似乎是字符数据类型。我想将这些字符转换为整数,并从包含它们的列中删除%符号

    $Budget(chr)"3,000.00", "2,000.00", "2,000.00"...  
    $Impressions(int) 0, 0, 0, 0...  
    $Interactions(int) 0, 0, 0...  
    $Interaction.Rate(chr) "0.00%", "0.00%", "0.00%"...  
    $Avg..Cost (dbl) 0, 0, 0, 0, 0, 0, 0...  
    $Cost(chr) "0", "0", "0", "0"...  
    $Clicks(int) 0, 0, 0, 0...  
    $CTR(chr) "0.00%", "0.00%", "0.00%"...  
我尝试过这样做,但没有结果,相反,它给了我错误:

警告消息:在eval(替换(expr)、envir、enclose)中:NAs 强迫引入


有人能帮我解决这个问题吗

你可以使用
转换
将它们转换回
数值

    mData=mData %>%
    mutate(Budget=as.numeric(Budget),  
    Interaction.Rate=as.numeric(gsub("%","",Interaction.Rate)),  
    Cost=as.numeric(Cost),  
    CTR=as.numeric(gsub("%","",CTR)))  
要删除
%
请使用
gsub
(从中获得此想法)


mData$Budget的可能重复项您需要使用
gsub
Budget
列中删除逗号。另一种可能是使用
readr
-包中的
parse_number
-函数。
transform(mData, Budget= as.numeric(Budget), Interaction.Rate = as.numeric(nteraction.Rate), ...)
 mData$Budget<- as.numeric(gsub("," ,"" ,mData$Budget))