我有一个行索引列表,表示数据框架中感兴趣的行。
> inds [1] 1 3 6 9 11
我有一个文件名列表,我想与这些行索引匹配,并在数据框中填充一个列。
[1] "C:/Temp/file/Company ABC.docx"
[2] "C:/Temp/file/Company DFE.docx"
[3] "C:/Temp/file/Company YTS.docx"
[4] "C:/Temp/file/Business ABC.docx"
[5] "C:/Temp/file/Business DFG.docx"
例如,第1行(即索引1)将使用文件名列表中的第一项填充FileName。第3行(即来自indeds的索引3)将使用文件名列表中的第二项填充filename。
<表类>第一行 文件名 tbody><<tr>等等 C:/Temp/文件/公司ABC.docx 等等 NA 等等 C:/Temp/文件/公司DFE.docx 表类>
我们可以直接使用索引而不是循环,即创建一个'FileName'作为NA
列,然后根据'inds'分配值,即文件名
df$FileName <- NA_character_
df$FileName[inds] <- filenames
或使用data.table
library(data.table)
setDT(df)[inds, FileName := filenames]
for
循环不需要嵌套循环。在'inds'或'filename '的序列上也需要一个单循环
df$FileName <- NA_character_
for(i in seq_along(inds)) {
df$FileName[ind[i]] <- filenames[i]
}