6

我对 R 很陌生,想知道是否有一种方法可以将向量存储在数据帧中,这样数据帧的每个条目都是一个向量。

我想将条目分配给一个向量,并且以后可以更改它:

df[2,]$Value <- c(1,2,0)
df[3,]$Value <- c(0,0,1)
df[3,]$Value <- df[3,]$Value + c(2,4,4)

但只能通过替换数据框中的 3 个不同条目来完成这项工作。有谁知道这是否可能?

df: 
      V1    V2     V3 
1 c(1,2) c(2,3) c(0,0) 
2 c(1,1) c(0,0) c(2,2)
4

1 回答 1

3

您不能拥有 3D 数据框。您可以通过多种方式实现这一点,但从概念上解释最简单的方法可能是在列表中包含一个列表:

> entries <- list(V1=list(c(1,2), c(1,1)), V2=list(c(2,3), c(0,0)), V3=list(c(0,0),c(2,2)))
> entries
$V1
$V1[[1]]
[1] 1 2

$V1[[2]]
[1] 1 1


$V2
$V2[[1]]
[1] 2 3

$V2[[2]]
[1] 0 0


$V3
$V3[[1]]
[1] 0 0

$V3[[2]]
[1] 2 2

现在假设您想更改 V1 的第二个条目,您只需这样做

条目$V1[[2]] <- c(2,2)

或者

条目[[1]][[2]] <- c(2,2)

于 2012-06-21T18:41:29.670 回答