在R语言中基于逻辑值动态调用writeData函数
解决方案
你可以通过循环遍历ABC向量的每个元素,同时动态计算对应的列号来实现需求。具体代码如下:
# 示例向量 ABC = c(TRUE, TRUE, TRUE, FALSE, FALSE) # 初始化工作簿和工作表 wb <- createWorkbook() addWorksheet(wb, "Sheet1") # 固定起始行,起始列从4开始 start_row <- 3 start_col <- 4 # 循环处理每个元素 for (i in seq_along(ABC)) { # 计算当前元素对应的列号:第i个元素对应 start_col + i - 1 current_col <- start_col + (i - 1) # 当元素为TRUE时写入内容 if (ABC[i]) { writeData( wb, sheet = "Sheet1", x = "Yes Please", startRow = start_row, startCol = current_col ) } } # 保存工作簿 saveWorkbook(wb, "result.xlsx", overwrite = TRUE)
代码说明:
seq_along(ABC)生成与ABC长度一致的索引序列,确保遍历每一个元素current_col的计算逻辑:第一个元素对应第4列,第二个对应第5列,以此类推,完全匹配你描述的位置规则- 仅当
ABC[i]为TRUE时,才执行writeData写入指定内容
内容的提问来源于stack exchange,提问作者VTR
相关产品推荐
相关产品推荐

