【发布时间】:2013-08-20 12:40:15
【问题描述】:
我在 R 中有以下基本问题。
我有一个for (k in 1:x){...} 循环,它产生长度取决于k 的数值向量。
对于k 的每个值,我生成一个数字向量。
如果可能,我想将它们收集为 R 中的数据框行。也就是说,我想介绍一个数据框datas.t.
for (k in 1:x) {
data[k,] <- ...
}
其中的点表示生成向量的命令,该向量的长度取决于k。
不幸的是,据我所知,R 中数据帧的行长度是恒定的,因为它是等长向量的列表。我已经尝试用适当数量的零来完成每一行以达到恒定长度(在这种情况下等于x)。相反,我想“动态地”工作。
我不认为这个问题等同于在一个数据框中合并不同长度的向量;由于if 循环,每一步只知道一个向量。
编辑
我的意思的一个非常简单的例子。对于每个k,我想编写其分量为1,2,...,k 的向量并将其存储为数据帧data 的第k 行。在上面的设置中,我会写
for (k in 1:x) {
data[k,] <- seq(1,k,1)
}
由于seq(1,k,1) 的长度取决于k,因此代码不起作用。
【问题讨论】:
-
您能举一个简单的例子来说明您想要实现的目标吗?问题的措辞有点令人困惑,我不确定您所说的
if循环是什么意思:I do not think that this issue is equivalent to merge vectors of different lengths in a dataframe; due to the "if" cycle, only 1 vector is known at each step。您是指一些ifelse()声明吗?我在您的代码中没有看到任何内容。 -
好的,我会相应地编辑问题!感谢您的反馈。