替换r中数据帧的部分

替换r中数据帧的部分,r,R,名单: 我有这个列表,我试图替换“name”coulm中的空部分 这是我的代码(我所有的尝试): list$name[3]name是一个因子列,您正在尝试添加更多尚未定义的“级别” 您可以将列强制设置为字符列,并在尝试时进行编辑,也可以将级别添加到“因子”列 Warning message: In `[<-.factor`(`*tmp*`, 3, value = c(2L, 3L, NA, NA, 1L, 1L, 1L, : invalid factor level, NA gene

名单:

我有这个列表,我试图替换“name”coulm中的空部分

这是我的代码(我所有的尝试):


list$name[3]
name
是一个因子列,您正在尝试添加更多尚未定义的“级别”

您可以将列强制设置为
字符
列,并在尝试时进行编辑,也可以将级别添加到“因子”列

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = c(2L, 3L, NA, NA, 1L, 1L, 1L,  :
  invalid factor level, NA generated

Warning message:
In `[<-.factor`(`*tmp*`, thisvar, value = 0) :
  invalid factor level, NA generated

list$name
name
是一个因子列,您试图添加更多尚未定义的“级别”

您可以将列强制设置为
字符
列,并在尝试时进行编辑,也可以将级别添加到“因子”列

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = c(2L, 3L, NA, NA, 1L, 1L, 1L,  :
  invalid factor level, NA generated

Warning message:
In `[<-.factor`(`*tmp*`, thisvar, value = 0) :
  invalid factor level, NA generated

list$name try
list$name[[3]]您应该阅读有关因子变量的内容。这方面的一个很好的来源是哈德利·威克姆的《高级R》:。解决问题的一个简单方法是使用
as.character()
将因子变量转换为字符变量。尝试as.character()和[[3]],我得到了相同的警告。
list$name tnx alex,成功了!尝试
list$name[[3]]您应该阅读有关因子变量的内容。这方面的一个很好的来源是哈德利·威克姆的《高级R》:。解决问题的一个简单方法是使用
as.character()
将因子变量转换为字符变量。尝试as.character()和[[3]],我得到了相同的警告。
list$name tnx alex,成功了!
Warning message:
In `[<-.factor`(`*tmp*`, 3, value = c(2L, 3L, NA, NA, 1L, 1L, 1L,  :
  invalid factor level, NA generated

Warning message:
In `[<-.factor`(`*tmp*`, thisvar, value = 0) :
  invalid factor level, NA generated
list$name <- as.character(list$name)
list$name[3] <- "eric"
list$name <- factor(list$name, levels=c(levels(list$name), "eric"))
list$name[3] <- "eric"