我想做的就是这样:
> 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
如何将字符添加到另一个数据中的特定行?
我可以将字符添加到一个单元格中,但是如果我添加两个或更多,则角色似乎会自动转换为数字。
> a[1,2] <- "test"
> a
col1 col2 col3
1 NA test NA
2 NA <NA> NA
3 NA <NA> NA
4 NA <NA> NA
这是因为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