[英]R: Adding data.frame (including numbers and characters) to cells in another data.frame
What I want to do is like this: 我想做的是这样的:
> 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
However, what I got by executing the code above is : 但是,我通过执行上面的代码得到的是:
> a
col1 col2 col3
1 NA 1 1
2 NA NA NA
3 NA NA NA
4 NA NA NA
How can I add characters to specific rows in another data.frame? 如何将字符添加到另一个data.frame中的特定行?
I could add characters to a single cell, but it seems characters are automatically converted to numbers if I add two or more. 我可以在一个单元格中添加字符,但是如果我添加两个或多个,似乎字符会自动转换为数字。
> a[1,2] <- "test"
> a
col1 col2 col3
1 NA test NA
2 NA <NA> NA
3 NA <NA> NA
4 NA <NA> NA
This happens because b$cola
is a factor. 发生这种情况是因为
b$cola
是一个因素。 It will work, if you transform the column values to character strings. 如果将列值转换为字符串,它将起作用。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.