c中的错误(" K"," K"," K":只能对数字,逻辑或复杂类型进行操作

时间:2015-07-16 15:46:54

标签: r

您好我尝试根据另一列中的字符更改列中的值。

我的数据如下

    row.names   STATE__ COUNTY  STATE   COUNTYNAME  EVTYPE  FATALITIES  INJURIES    PROPDMG PROPDMGEXP  CROPDMG CROPDMGEXP
1   1   1   97  AL  MOBILE  TORNADO 0   15  25  K   0    
2   53  1   33  AL  COLBERT TORNADO 0   1   25  K   0    
3   105 1   99  AL  MONROE  TORNADO 0   0   0.25    K   0    
4   157 1   127 AL  WALKER  TORNADO 4   15  25  K   0    
5   313 1   65  AL  HALE    TORNADO 0   0   25  K   0    
6   625 1   33  AL  COLBERT TORNADO 0   0   250 K   0    

我的代码如下

evtype_cal_dat3  <- mutate(evtype_dat3,DMG = ifelse(PROPDMGEXP == "K"|"k", PROPDMG * 1000, ifelse(PROPDMGEXP == "M" | "m", PROPDMG * 10^6, ifelse(PROPDMGEXP == "B",PROPDMG * 10^9,PROPDMG))))
Error in c("K", "K", "K", "K", "K", "K", "M", "K", "K", "K", "K", "K",  : 
  operations are possible only for numeric, logical or complex types

为什么我会收到错误?我将CROPDMG转换为as.numeric,将CROPDMGEXP转换为as.character。但我收到了错误。

有人可以帮忙吗?感谢

1 个答案:

答案 0 :(得分:0)

正确。如果要使用不同字符串的过滤器,请使用以下命令:

@return {angular.Component} Component definition object.