这是一个如此简单的声音问题,但我无法找到解决问题的方法。我已经从之前的data.frame创建了一个表,以便以不同方式组织我的数据(见下文)
下面的dataframe1部分
Score Pred
0.966 Noise
0.95 Noise
0.964 Noise
0.924 Call
0.838 Noise
0.982 Call
0.934 Noise
使用以下内容将我的数据整理到表中:
dataframe1_sorted <- with(dataframe1, table(Score, Pred))
这将创建一个包含以下内容的表格:我想计算每个乐谱类别中“呼叫”的数量和“噪音”的数量。
Score Pred Call Noise
0 0 402 0
0.002 0 207 0
0.004 0 120 0
0.006 0 83 0
0.008 0 59 0
0.01 0 48 0
现在,当我尝试使用 df&lt; -data.frame(dataframe1)保存此表时,它会更改列,我会得到标题“Score,Pred,Freq”< / em>的。我想将表完全保存到数据帧。
我该怎么办?
答案 0 :(得分:2)
尝试取消分类表:
df<-data.frame(unclass(dataframe1))
我认为这就是你要找的东西。
答案 1 :(得分:1)
我之前遇到过同样的问题:
tab <- with(dat, table(Score, Pred))
class(tab) <- 'matrix'
data.frame(tab)
编辑:使用'array'
代替'matrix'
也可以,并且应该扩展到更高维的表格。
答案 2 :(得分:1)
基础R之外的一个替代方案是使用dcast
包中的reshape2
。这个输出是一个data.frame,所以你不必重新保存它。我喜欢这个的一件事是你得到每个列的名称。
require(reshape2)
(df = dcast(dataframe1, Score ~ Pred, fun.aggregate = length) )