我有一个数据框架和一些人物误读,
example1
1 SABRINA MOCKENHAUPT
2 IRINA MIKITENKO
3 MARILSON DOS SANTOS
4 RYAN HALL
5 TIKI GELANA
6 KENTARO NAKAMOTO
7 JAOUAD GHARIB
8 S…REN KAH
9 CONSTANTINA DITA我想替换一些元素。例如,替换第八个元素exemple1$exemple1[[8]]<-"SÖREN KAH"。但它告诉我这个错误
In `[[<-.factor`(`*tmp*`, 8, value = c(57L, 29L, 41L, 54L, 65L, :invalid factor level, NA generated发布于 2013-12-06 00:22:10
您还没有提供一个可重复的示例,所以我猜测有一点:但问题似乎是example1是由各种因素组成的。
以下是example1的基本猜测
example1 <- as.factor(LETTERS[1:9])当您打印factor1时,可能会看到以下内容:
R> example1
[1] A B C D E F G H I
Levels: A B C D E F G H I现在,如果我们尝试用非因子( levels中没有列出的内容)替换任何项,我们将得到以下错误(类似于您的错误):
R> example1[8] <- "KK"
Warning message:
In `[<-.factor`(`*tmp*`, 8, value = "KK") :
invalid factor level, NA generated但是请注意,您可以将一个列出的因素替换为另一个,这意味着example1[8] <- "A"是有效的。
我猜你不想要因素--你想要角色。所以你需要强迫example1去扮演角色。这样做如下
R> example1.ch <- as.character(example1)不,你的替代是可行的:
R> example1.ch[8] <- 'kk'
R> example1.ch
[1] "A" "B" "C" "D" "E" "F" "G" "kk" "I"通常,您可以使用命令str()来了解您的数据对象是由什么组成的--当您遇到像这样的奇怪错误时,这将有所帮助。
R> str(example1)
Factor w/ 9 levels "A","B","C","D",..: 1 2 3 4 5 6 7 1 9https://stackoverflow.com/questions/20413096
复制相似问题