用命名字符向量替换数据框中的行

时间:2016-08-23 13:49:55

标签: r

如果没有一个简单的解决办法可以让脸庞成为冠军,我会感到震惊。

我正在构建一个颜色DF来制作网络图形文件。当用户与GUI交互时,某些行会更改为对应于某些边缘和节点颜色。

这是一个最小的例子:

node_col_1 <- c(red=0, green=153, blue=255, alpha=1)
node_col_2 <- c(red=163, green=160, blue=25, alpha=1)

test_colors <-
t(
  sapply(
    seq_len(5),
    FUN= function(x) node_col_1
  )
)

所以test_colors是:

red green blue alpha
[1,]   0   153  255     1
[2,]   0   153  255     1
[3,]   0   153  255     1
[4,]   0   153  255     1
[5,]   0   153  255     1

然后,尝试替换第2行和第3行:

> test_colors[c(2,3), ]<- node_col_2

     red green blue alpha
[1,]   0   153  255     1
[2,] 163    25  163    25
[3,] 160     1  160     1
[4,]   0   153  255     1
[5,]   0   153  255     1

这取代了它(在扁平的df中)而不是行。有没有一种简单的方法来替换它?

1 个答案:

答案 0 :(得分:1)

Whamp Whamp。我想出了一个简单的方法。首先将其包裹在矩阵中....

> test_colors[c(2,3), ]<- matrix(node_col_2, nrow = 2, ncol =4, byrow = TRUE)
> test_colors
     red green blue alpha
[1,]   0   153  255     1
[2,] 163   160   25     1
[3,] 163   160   25     1
[4,]   0   153  255     1
[5,]   0   153  255     1