我想做的是这样的:
> a <- data.frame (col1=c(NA,NA,NA,NA), col2=c(NA,NA,NA,NA), col3=c(NA,NA,NA,NA))
> b <- data.frame(cola="test", colb=1)
> a[1,2:3] <- b
> a
col1 col2 col3
1 NA test 1
2 NA NA NA
3 NA NA NA
4 NA NA NA
但是,通过执行上面的代码得到的是:
> a
col1 col2 col3
1 NA 1 1
2 NA NA NA
3 NA NA NA
4 NA NA NA
如何将字符添加到另一个data.frame中的特定行?
我可以将字符添加到单个单元格中,但如果添加两个或更多字符,字符似乎会自动转换为数字。
> a[1,2] <- "test"
> a
col1 col2 col3
1 NA test NA
2 NA <NA> NA
3 NA <NA> NA
4 NA <NA> NA
答案 0 :(得分:1)
这是因为b$cola
是一个因素。如果将列值转换为字符串,它将起作用。
b$cola <- as.character(b$cola)
a[1,2:3] <- b
a
# col1 col2 col3
# 1 NA test 1
# 2 NA <NA> NA
# 3 NA <NA> NA
# 4 NA <NA> NA