如何在不更改 col 类 的情况下向数据框添加一行?

How to add a row to dataframe without changing col classes?

我有一个包含 15 个变量的 5 个观测值的数据框。有些 classes 是字符,有些是数字,有些是整数。我正在尝试向我的数据框中添加一个新行。我通过创建一个新行来做到这一点:

newrow= c('Chiyoda',600,.08,2,1500,1,3000,6500,10, .65, .1, 0,0,0,0)

然后将其绑定到我的数据框:

mydata = rbind(mydata,newrow)

问题是,当我执行 rbind 时,它会将我数据框中每一列的 classes 更改为字符,我无法像它们是数字时那样对它们进行操作。有没有一种不涉及写出每个元素的 class 的方法?

谢谢

您需要这样定义 newrow

newrow= list('Chiyoda',600,.08,2,1500,1,3000,6500,10, .65, .1, 0,0,0,0)

因为当您使用 c() 将数字变量和字符变量连接在一起时,R 会将数字变量强制转换为字符,return 转换为字符向量。