R语言:如何将向量元素按指定间隔列批量添加至已有数据框
使用for循环按规则填充向量元素到数据框
以下是满足需求的R代码实现:
# 初始化向量与数据框 samples <- c("bl", "ra", "ye", "gp", "dk") df <- data.frame(Country = "FR", Name = "Jean", A="",B="",C="",D="",E="",F="",G="",H="",I="",J="",K="",L="",M="",N="",O="",P="",Q="",R="",S="",T="",U="",V="",W="ok",X="ok",Y="ok",Z="ok",A1="ok",B1="ok") # 循环批量填充元素 for (i in seq_along(samples)) { # 根据公式计算目标列索引:4i-1 target_col <- 4 * i - 1 # 为数据框第一行的目标列赋值 df[1, target_col] <- samples[i] } # 查看最终结果 print(df)
代码说明
seq_along(samples)生成与向量长度匹配的序列(1到5),确保循环覆盖所有向量元素- 每次循环通过
4*i -1计算目标列索引,严格对应需求中「第3、7、11、15...列」的规则 - 直接对数据框的指定位置赋值,自动替换原本的空字符串,实现批量填充
运行后的数据框会符合你期望的输出格式:第3列(A列)填入bl,第7列(G列)填入ra,第11列(M列)填入ye,第15列(S列)填入gp,第19列(Y列)填入dk,其余列保留原有值。
内容的提问来源于stack exchange,提问作者Loki123
相关产品推荐
相关产品推荐

