R:将data.frame(包括数字和字符)添加到另一个data.frame中的单元格中



我想做的就是这样:

> 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

最新更新