R:将data.frame(包括数字和字符)添加到另一个data.frame中的单元格
R: Adding data.frame (including numbers and characters) to cells in another 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
如何向另一个 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
发生这种情况是因为 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
我想做的是这样的:
> 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
发生这种情况是因为 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