我确实搜索了此内容并链接到条目HERE,HERE和HERE。
但他们没有回答我的问题。
代码:
for (i in 1:nrow(files.df)) {
Final <- parser(as.character(files.df[i,]))
Final2 <- rbind(Final2,Final)
}
files.df包含超过30个文件名(使用list.files从目录中读取),然后将其传递给自定义函数解析器,该解析器返回一个保存超过100行的数据帧(数字从一个文件到下一个文件不同)。 Final和Final2都在for循环之外用NA初始化。该脚本运行良好的rbind但它的语义问题 - 结果输出不是我所期望的。结果数据帧比组合的文件小很多。
我确定它与rbind位有关。
其次,我希望模仿excel中的枢轴功能,我有四列,每行重复第一列,第二列是不同的,第三列是不同的,第四列是不同的。最终的数据框应围绕第一列旋转。有什么想法,我怎么能做到这一点?我有一个演员和融化,但无济于事。
任何想法都会很棒!如果我能坚持数据框架结构会很好。
附上图片以供参考:
答案 0 :(得分:0)
对于您的数据透视功能,基本上需要将数据帧从长格式转换为宽格式,在 CC arch/arm/mach-msm/board-8930-display.o
arch/arm/mach-msm/board-8930-display.c: In function 'mipi_dsi2lvds_cdp_panel_power':
arch/arm/mach-msm/board-8930-display.c:577:3: error: implicit declaration of function 'msm_xo_get' [-Werror=implicit-function-declaration]
arch/arm/mach-msm/board-8930-display.c:577:26: error: 'MSM_XO_TCXO_A1' undeclared (first use in this function)
arch/arm/mach-msm/board-8930-display.c:577:26: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mach-msm/board-8930-display.c:663:3: error: implicit declaration of function 'msm_xo_mode_vote' [-Werror=implicit-function-declaration]
arch/arm/mach-msm/board-8930-display.c:663:31: error: 'MSM_XO_MODE_ON' undeclared (first use in this function)
arch/arm/mach-msm/board-8930-display.c:671:31: error: 'MSM_XO_MODE_OFF' undeclared (first use in this function)
cc1: some warnings being treated as errors
make[1]: *** [arch/arm/mach-msm/board-8930-display.o] Error 1
make: *** [arch/arm/mach-msm] Error 2 }
列上进行聚合,您可以使用基数R的reshape():
Value
或者,如下所示的专用包reshape2往往不那么冗长,而且后期格式化也较少。因此,大多数人更喜欢这种转化路线另外,与Excel Pivot Tables一样,其他聚合函数也可用(总和,平均值,长度等):
reshapedf <- reshape(df, v.names = c("Value"),
timevar=c("Identifier"),
idvar = c("Date"),
direction = "wide")
# RENAME COLUMNS
names(reshapedf) <- c('Date', 'A', 'B', 'C')
# CONVERT NAs TO ZEROS
reshapedf[,c(2:4)] <- data.frame(sapply(reshapedf[,c(2:4)],
function(x) ifelse(is.na(x),0,x)))
# RESET ROW.NAMES
row.names(reshapedf) <- 1:nrow(reshapedf)