R:将数据帧转换为表

Dav*_*agh 8 r

我有一个名为例如三个变量R A数据帧df$V1,df$V2,df$V3. df$V1并且df$V2都是因素,而df$V3数字.

df <- data.frame(
  V1 = letters[1:4],
  V2 = rep(LETTERS[1:3], each = 4),
  V3 = 1:12
)
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方式来创建一个包含值的表df$V3,以df$V1作为行,df$V2作为列.

我尝试过桌子上的变化,但没有到达任何地方.也许有人可以提供帮助,先谢谢,戴维.

Aar*_*ica 18

这是一个替代table:

xtabs(V3 ~ V1 + V2, df)
Run Code Online (Sandbox Code Playgroud)


nul*_*lob 6

正如ran2所提到的,您可以使用该reshape包.这是一个例子:

df <- data.frame(V1 = factor(sample(letters[1:5],100,replace=TRUE)),
                 V2 = factor(toupper(sample(letters[1:5],100,replace=TRUE))),
                 V3 = runif(100))
library(reshape)
cast(df, V1 ~ V2, mean)
Run Code Online (Sandbox Code Playgroud)

  • 另请参阅`reshape2`,它要快得多 (3认同)