1)从长到宽的问题:
我有一个包含3列的数据集: person、event、frequency。如果频率为零,则该行不在表中。有没有一种简单的方法,使用基本的R函数或库将该表转换为宽格式,每个人一行,每个事件一列,频率作为表中的值。
2) rattle问题:
在相关的注释中,Rattle甚至有必要将其理解为输入吗?
我正在尝试将一些数据导入R中,以探索Rattle的一些机器学习算法。
谢谢!帕特里克·McCann
发布于 2010-01-16 00:30:59
对于问题的第一部分,您可以使用基数R中的reshape()函数,也可以使用reshape包(带有cast()函数)。
下面是使用reshape()函数的示例(来自帮助文件):
wide <- reshape(Indometh, v.names="conc", idvar="Subject",
timevar="time", direction="wide")下面是一个使用melt和cast的简单示例(来自重塑帮助):
library(reshape)
names(airquality) <- tolower(names(airquality))
aqm <- melt(airquality, id=c("month", "day"), na.rm=TRUE)
cast(aqm, month ~ variable, mean)发布于 2010-01-16 00:24:36
Re:第一部分,您可以使用Frequency == 0 by筛选出行
filteredRows <- data$Frequency != 0
## restrict ourselves to looking at the data where Frequency != 0.
data[filteredRows,]https://stackoverflow.com/questions/2073000
复制相似问题