R 聚合需要乐趣。聚合:长度用作默认值
我有一个文件,我想用R对它进行重塑:这些是我正在运行的命令R 聚合需要乐趣。聚合:长度用作默认值,r,reshape,R,Reshape,我有一个文件,我想用R对它进行重塑:这些是我正在运行的命令 x <- data.frame(read.table("total.txt", sep=",", header=T) y <- melt(x, id=c("Hostname", "Date", "MetricType")) 有没有一种不挂断服务器的简单方法 当我使用library(重塑2)时: yy <- acast(y, Hostname + Date + variable ~ MetricType, fun.ag
x <- data.frame(read.table("total.txt", sep=",", header=T)
y <- melt(x, id=c("Hostname", "Date", "MetricType"))
有没有一种不挂断服务器的简单方法
当我使用library(重塑2)时:
yy <- acast(y, Hostname + Date + variable ~ MetricType, fun.aggregate=mean)
yy澄清:在下面的讨论中,我指的是dcast()
,而不是cast()
。正如Maiasaura在评论中所指出的,来自重塑
包的函数cast()
在重塑2
包中已被两个函数替换:dcast()
(用于data.frame输出)和acast()
(用于数组或矩阵输出)。在任何情况下,我关于需要fun.aggregate
参数的评论对于cast()
、dcast()
和acast()
都同样适用
引发错误的原因是,对于调用cast()
中的至少一个分类变量组合,data.framey
必须至少包含两行数据。如?cast
(或?dcast
)中所述:
如果您提供的变量组合不是唯一的
确定原始数据集中的一行,您需要提供
聚合函数“fun.aggregate”
运行下面的代码,看看这是如何工作的,以及如何进行补救。在最后一行代码中,我使用fun.aggregate
参数告诉dcast()
使用mean()
组合变量重复组合的值。取而代之的是,您可以放置最适合您自己情况的聚合函数
library(reshape2)
## A toy dataset, with one row for each combination of variables
d <- expand.grid(Hostname = letters[1:2],
Date = Sys.Date() + 0:1,
MetricType = LETTERS[3:4])
d$Value <- rnorm(seq_len(nrow(d)))
## A second dataset, in which one combination of variables is repeated
d2 <- rbind(d, d[1,])
## Runs without complaint
dcast(d, Hostname + Date ~ MetricType)
## Throws error asking for an aggregation function
dcast(d2, Hostname + Date ~ MetricType)
## Happy again, with a supplied aggregation function
dcast(d2, Hostname + Date ~ MetricType, fun.aggregate=mean)
library(重塑2)
##一个玩具数据集,每个变量组合有一行
澄清:在下面的讨论中,我指的是dcast()
,而不是cast()
。正如Maiasaura在评论中所指出的,来自重塑
包的函数cast()
在重塑2
包中已被两个函数替换:dcast()
(用于data.frame输出)和acast()
(用于数组或矩阵输出)。在任何情况下,我关于需要fun.aggregate
参数的评论对于cast()
、dcast()
和acast()
都同样适用
引发错误的原因是,对于调用cast()
中的至少一个分类变量组合,data.framey
必须至少包含两行数据。如?cast
(或?dcast
)中所述:
如果您提供的变量组合不是唯一的
确定原始数据集中的一行,您需要提供
聚合函数“fun.aggregate”
运行下面的代码,看看这是如何工作的,以及如何进行补救。在最后一行代码中,我使用fun.aggregate
参数告诉dcast()
使用mean()
组合变量重复组合的值。取而代之的是,您可以放置最适合您自己情况的聚合函数
library(reshape2)
## A toy dataset, with one row for each combination of variables
d <- expand.grid(Hostname = letters[1:2],
Date = Sys.Date() + 0:1,
MetricType = LETTERS[3:4])
d$Value <- rnorm(seq_len(nrow(d)))
## A second dataset, in which one combination of variables is repeated
d2 <- rbind(d, d[1,])
## Runs without complaint
dcast(d, Hostname + Date ~ MetricType)
## Throws error asking for an aggregation function
dcast(d2, Hostname + Date ~ MetricType)
## Happy again, with a supplied aggregation function
dcast(d2, Hostname + Date ~ MetricType, fun.aggregate=mean)
library(重塑2)
##一个玩具数据集,每个变量组合有一行
d第一行有一个右括号缺失。(和)哪个版本的整形?cast
已被dcast
和acast
替换,在restrape2
中,我尝试使用整形2和dcast以及acast,非工作值正在变得不可用。有什么想法吗?第一行的右边缺了一个帕伦。(和)哪个版本的整形?cast
已被dcast
和acast
替换,在restrape2
中,我尝试使用整形2和dcast以及acast,非工作值正在变得不可用。有什么想法吗?找不到dcast,我起诉了cast,但它仍然挂起:我应该澄清:cast()
,来自restrape
的包已被弃用,并被dcast()
(当您需要data.frame输出时)和acast()
(当您需要数组或矩阵输出时)取代。要查找dcast
,首先需要执行以下操作:install.packages(“重塑2”);库(2)
。不过,更大的问题是,您是否尝试在fun.aggregate
参数中为cast()
提供函数名。它应该与取代它的cast()
和dcast
和acast
功能一起工作……我已经安装了整形2并尝试了它。当我使用这个yy时,可以尝试fun.aggregate=function(X)mean(X,na.rm=TRUE)
而不是fun.aggregate=mean
?然后,如果这不起作用,也许可以试试fun.aggregate=class
,看看您试图取平均值的数据的类别是什么。同样的结果,所有值都是NAcannot find dcast,我起诉了cast,但它仍然挂起:我应该澄清:cast()
,来自重塑
包的已被弃用,并替换为dcast()
(当需要data.frame输出时)和acast()
(当需要数组或矩阵输出时)。要查找dcast
,首先需要执行以下操作:install.packages(“重塑2”);库(2)
。不过,更大的问题是,您是否尝试在fun.aggregate
参数中为cast()
提供函数名。它应该与取代它的cast()
和dcast
和acast
功能一起工作……我已经安装了整形2并尝试了它。当我使用这个yy时,可以尝试fun.aggregate=function(X)mean(X,na.rm=TRUE)
而不是fun.aggregate=mean
?然后,如果这不起作用,可以尝试fun.aggregate=class
查看您试图取平均值的数据类别。相同的结果是,所有值均为NA
library(reshape2)
## A toy dataset, with one row for each combination of variables
d <- expand.grid(Hostname = letters[1:2],
Date = Sys.Date() + 0:1,
MetricType = LETTERS[3:4])
d$Value <- rnorm(seq_len(nrow(d)))
## A second dataset, in which one combination of variables is repeated
d2 <- rbind(d, d[1,])
## Runs without complaint
dcast(d, Hostname + Date ~ MetricType)
## Throws error asking for an aggregation function
dcast(d2, Hostname + Date ~ MetricType)
## Happy again, with a supplied aggregation function
dcast(d2, Hostname + Date ~ MetricType, fun.aggregate=mean)