我正在尝试完成一些本不应该那么困难的事情,但是它逃脱了我的尝试。
所以我有一个看起来像这样的R数据框:
std::ostream& out = std::cout;
数据帧是经过过滤的分析数据的结果。最终产品是Excel(xlsx),其中最后一列是整体分析的结论。因此,这些步骤都已处理完了,但是这些表相当大,因此能够进行着色(例如在RED中表示“显着变暖”)会很好。
我已经尝试过使用上述数据框中的工作簿
MeanTemperature(ºC) Longitude Latitude Height FinalConsiderations
5 91ºW 152ºS 548m Slightly Cooler
16 185ºE 53ºN 722m Unchanged
22 16ºW 2ºS 206m Significantly Warmer
在这里,我要收集那些单元格,其中的单元格显示为红色的“明显变暖”,然后将工作簿导出到xlsx。
wb <- loadWorkbook(file) #where file is the location path
但是现在我找不到在wb设置中创建函数的方法,其中在$ FinalConsiderations列=='Scoolly Cooler',单元格前景被涂成红色,然后导出到xlsx。
答案 0 :(得分:0)
所以我将写出解决方法,以防万一有类似情况的人得到帮助。
我下载了openxlsx
软件包。
library(openxlsx) #recall the library
wb <- createWorkbook() # create a workbook
addWorksheet(wb, "Sheet", gridLines = TRUE) #add a worksheet to the workbook
writeData(wb, "Sheet", df) # write my analysis into the worksheet of the workbook,
#where df is the name of my data frame
然后,按照createStyle
函数创建样式(请参见文档)。
就我而言,我必须在数据中查找特定字符
warm1Style <- createStyle(fontColour = "#000000", bgFill = "#FFFF00")
# here search for the respective HEX color-code and assign a name to the style
conditionalFormatting(wb, "Sheet", cols = 1:5,
rows = 1:50, rule = "Significantly Warmer", style = warm1Style,
type = "contains")
# account the condition where "Significantly Warmer" is contained in a cell,
# then apply the respective style to it (in this case, warm1Style)
就这样,就可以对工作簿中的任何短语或字符进行处理。
最后,将工作簿另存为xlsx:
saveWorkbook(wb, file, overwrite = TRUE)
感谢您的回复