我不明白为什么收到此警告消息。

> fixed <- data.frame("Type" = character(3), "Amount" = numeric(3))
> fixed[1, ] <- c("lunch", 100)
Warning message:
In `[<-.factor`(`*tmp*`, iseq, value = "lunch") :
  invalid factor level, NA generated
> fixed
  Type Amount
1 <NA>    100
2           0
3           0

最佳答案

该警告消息是因为您的“类型”变量已成为一个因素,而“午餐”未定义。在使数据框强制“类型”为字符时,请使用stringsAsFactors = FALSE标志。

> fixed <- data.frame("Type" = character(3), "Amount" = numeric(3))
> str(fixed)
'data.frame':   3 obs. of  2 variables:
 $ Type  : Factor w/ 1 level "": NA 1 1
 $ Amount: chr  "100" "0" "0"
>
> fixed <- data.frame("Type" = character(3), "Amount" = numeric(3),stringsAsFactors=FALSE)
> fixed[1, ] <- c("lunch", 100)
> str(fixed)
'data.frame':   3 obs. of  2 variables:
 $ Type  : chr  "lunch" "" ""
 $ Amount: chr  "100" "0" "0"

关于r - 警告消息:在 `…`中:无效的因子级别,生成了NA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16819956/

10-12 14:56