我有以下R代码:
example = data.frame(
cola = c("mySTR1","mySTR2"),
colb = c("04-05-2015","04-05-2015"),
A = c(-1.41,-7.41),
B = c(58.08375106,0.001),
C = c(35.21623542,82.90195247)
)
它给了我下面的表格:
cola colb A B C
1 mySTR1 04-05-2015 -1.41 58.08375 35.21624
2 mySTR2 04-05-2015 -7.41 0.00100 82.90195
现在我想添加一个新行,我正在尝试使用以下代码:
example[3,] = data.frame(
cola = "STR3",
colb = "05-05-2015",
A = -0.58,
B = 30.68441404,
C = 50
)
,返回的表是:
cola colb A B C
1 STR1 04-05-2015 -1.41 58.08375 35.21624
2 STR2 04-05-2015 -7.41 0.00100 82.90195
3 <NA> <NA> -0.58 30.68441 50.00000
正如您所看到的可乐和colb有NA并且出现以下错误:
1: In `[<-.factor`(`*tmp*`, iseq, value = 1L) :
invalid factor level, NA generated
2: In `[<-.factor`(`*tmp*`, iseq, value = 1L) :
invalid factor level, NA generated
我很难理解字符串数据变为NA的原因以及如何修复它。有人可以帮忙吗?
答案 0 :(得分:1)
使用rbind()
功能,而不是尝试将第二个数据帧指定为第一个数据帧的第三行。
add <- data.frame(
cola = "STR3",
colb = "05-05-2015",
A = -0.58,
B = 30.68441404,
C = 50
)
rbind(example, add)