在rbind()中将单元格值解析为行名称

时间:2018-05-18 07:37:34

标签: r rbind

我有两个数据conda install pip& dfName

dfTest

我将> dfName <- c("Ball", "Cat", "Dog") > dfName [1] "Ball" "Cat" "Dog" 第一行的名称设为“Apple”,

dfTest

我想将新行添加到> dfTest <- data.frame(t(1:3)) > rownames(dfTest) <- "Apple" > dfTest X1 X2 X3 Apple 1 2 3 并使用dfTest指定其行名称。

dfName

但它会重新发出此错误,

for(i in 1:3) {
  dfTest <- rbind(dfTest, dfName[i] = data.frame(t(1:3)))
}

所以我使用Error: unexpected '=' in: "for(i in 1:3) { dfTest <- rbind(dfTest, dfName[i] =" 作为解决方法,

rownames

如果它只是一个字符串变量

,则没有问题
for(i in 1:3) {
  dfTest <- rbind(dfTest, data.frame(t(1:3)))
  rownames(dfTest)[i+1] <- dfName[i]
}
> dfTest
      X1 X2 X3
Apple  1  2  3
Ball   1  2  3
Cat    1  2  3
Dog    1  2  3

我知道这只是一个行/函数,但我想知道为什么我不能在> varA <- "Elephant" > dfTest <- rbind(dfTest, varA = data.frame(t(1:3))) > dfTest <- rbind(dfTest, "Flower" = data.frame(t(1:3))) 中使用dfName[i]

编辑:我无法使用rbind(),因为它们的行数与我的实际数据不匹配。

1 个答案:

答案 0 :(得分:1)

您无需单独设置名称

只需使用:

dfTest <- data.frame(matrix(1,3,4))

dfName <- c("Ball", "Cat", "Dog")

rownames(dfTest) <- dfName