R语言 合并不等长的向量或数据帧
在这篇文章中,我们将看到如何在R编程语言中把不等长的向量或数据帧合并成一个数据帧。
使用的函数 。
- c(“Value1”, “Value2”, “Value3”) : 这是一个通用函数,它将其参数结合起来。默认的方法是将其参数(Value)组合成一个矢量。
- length(vector): 获取或设置向量、因子或任何其他R对象的长度。
- max(…): 返回它的参数中所有数值的最大值。
- rep(x, ...): 复制x中的值,第二个参数可以是times、length()、length.out、each中的任何一个。
分步实现
第1步: 使用c()函数准备数据框架的向量。这里我们把学生数据和 Rollno , Name , Marks, 和 Age 作为一个向量。正如你在下面看到的,我们只有前三个学生的姓名和年龄。我们没有其他三人的姓名和年龄数据。同时,我们也没有最后一个学生的分数。
第2步: 你可以看到上面的数据,Rollno, Name, Marks, 和Age的长度分别是6, 3, 5, 和3。现在,通过使用 max() 函数。在max()函数中,我们通过 length() 函数获得所有向量的长度。我们将得到我们创建的所有向量的最大长度,并将这个长度存储到 maxlength 变量中。同时,为测试目的,通过打印来检查长度。
输出
第3步: 姓名和年龄矢量的长度为3,分数的长度为5。 因此,我们应该用 NA 值替换剩余的黑点。为此,我们将使用 rep() 函数,其中第一个参数是NA,这里我们使用剩余黑点的长度作为第二个参数。在用NA填充黑点之后,我们将用同样的 c ( ) 函数更新向量。
第4步: 现在,我们将使用 data.frame() 函数创建一个更新向量的DataFrame,并将其存储在 studentdata 变量中。
输出
‘studentdata’ 数据框架