在 R 中,如何填充在设置过程中不知道其大小的矩阵或 data.frame?
所以,我有一个脚本,我想动态创建一个矩阵或 data.frame。
但是,我不知道输入的矩阵/框架的尺寸。当我尝试创建一个空白矩阵并添加值时,我收到“下标越界”错误,
这是我的一些代码:
data <- read.csv("C:/3PP/data.txt", header=F)
parsed = matrix()
for (i in 1:nrow(data))
{
parsed[data[i,1],data[i,2]+1] = data[i,3]
}
我怎样才能设置该矩阵以便可以动态生成该矩阵,而不必在开始时指定大小?
谢谢你!
So, I have a script which I would like to create a matrix or data.frame on the fly.
However, I do not know the dimensions of the matrix/frame going in. When I try to just create a blank matrix and adding values, I get the "subscript out of bounds" error,
Here is some of my code:
data <- read.csv("C:/3PP/data.txt", header=F)
parsed = matrix()
for (i in 1:nrow(data))
{
parsed[data[i,1],data[i,2]+1] = data[i,3]
}
How can I set this up such that this matrix can be generated on the fly, without having to specify the size in the beginning?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
鉴于您的问题,您已经知道行数和列数。您可以像这样指定矩阵:
增长矩阵的唯一其他方法是使用 rbind() 或 cbind() ,但是对于大矩阵来说,这可能会变得相当慢。
Given your problem, you know already the number of rows and columns. You can specify your matrix like:
The only other way to grow a matrix is by using
rbind()
orcbind()
, but that can get pretty slow with big matrices.