以下是我的数据的一个随机片段:
new_bic
time electrode amps
2867 11.22972 A1_61 0.03181021
2868 11.23012 A1_73 0.04101065
2869 11.23024 A1_45 0.02053718
2870 11.23036 A1_47 0.13970933
2871 11.23036 A1_32 0.03532112
2872 11.23044 A1_81 0.03758630
2873 11.23044 A1_54 0.02858271
2874 11.23056 A1_76 0.08517757
2875 11.23064 A1_77 0.05597946
2876 11.23064 A1_56 0.03700752
2877 11.23068 A1_36 0.02002140
2878 11.23072 A1_21 0.12558076
2879 11.23076 A1_44 0.02107521
2880 11.23076 A1_68 0.09281007
2881 11.23084 A1_31 0.01390223
2882 11.23088 A1_66 0.02775229
2883 11.23096 A1_64 0.02810385
2884 11.23100 A1_46 0.01288512
2885 11.23104 A1_87 0.03736150
2886 11.23104 A1_34 0.27207340
2887 11.23112 A1_84 0.03999399
2888 11.23112 A1_63 0.02099964这是我用来分类电极事件的代码(即每个电极有多少个安培记录)。使用这些数据可能很难看到,但电极实际上在整个数据集的不同时间点上多次出现。
new_table <- within(new_bic,
electrode <- factor(electrode,
levels=names(sort(table(electrode),
decreasing=F))))
pp <- ggplot(new_table,aes(x=electrode))+geom_bar() + theme(axis.text.x=element_blank(),axis.ticks.x=element_blank()) +
ylab("Firing Count") + xlab("Individual Electrodes") +ggtitle("Electrode Firing Count")因此,我制作了一个带有因素数据“电极”的new_table,它可以很容易地按递增顺序绘制成条形图。结果真的很好。然而,我想要包括另一段数据,并将其堆叠在相应的条形上(这是每个电极)。我想要的数据是每个电极的峰值计数。
这就是我陷入困境的地方,我的问题是,这可能会在未来为我服务:是否有可能处理同一数据框架中的因素和非因素,并使用这些信息来绘制分类数据?我不确定这将如何工作,因为非因素项目的长度(例如,我在上面的new_table中的电极计数)。
我想在当前的条形图上叠加每个电极的“峰值计数”,这应该是每个电极的int值。一旦得到这些值,我就不知道该把它们放在哪里,以便在绘图中使用它们,但大致上是这样的:
for (elec in unique(new_bic$electrode))
{
new_data <- new_bic[new_bic$electrode == elec,]
# remember to count the rows, because all we really want is a spike count
peak_count <- nrow(findpeaks(new_data$amps))
}任何帮助都会很好。
发布于 2015-04-21 02:56:17
将这些数据汇总为三列的数据,第一列为electrode,第二列为总出现次数,第三列为“总计”因子。
然后创建一个类似的电极和峰计数的数据框架,以及“峰”的因子。
那就把他们绑起来。然后绘制叠加直方图。
数据应该如下所示:
e.dat <- data.frame(electrode = c("e1", "e2", "e1", "e2"),
value = c(5,6,2,3),
type = c("total", "total", "peak", "peak"))然后情节:
ggplot(e.dat, aes(x=electrode, y=value, fill=type)) + geom_bar(stat="identity")https://stackoverflow.com/questions/29761936
复制相似问题