我正在尝试在每个文件中创建一个列Client:ABC。 “ ABC”是我们为每个客户提供的内部缩写。我上传了一个名为acronym的文件,并编写了以下代码。
for(i in seq_along(filePaths)){
data = within(data, {
subsidiary="Client : acronym[i]"
})
}
我的代码中还有其他一些功能(在此不再赘述)可以正常工作。但是,当我编写文件时,得到的是Client:acronym [i]而不是Client:ABC。我在做什么错了?
答案 0 :(得分:0)
我想象您在首字母缩写文件中的读取方式会导致数据帧,但是您没有正确索引该数据帧。我无法确定您是要使用单个客户端的统一列,还是要使用唯一客户端的查找表。如果是前者,那么下面的示例可能会有所帮助。如果它是一种查找表,请查看合并命令。
library(dplyr)
Class1 <- df %>%
filter(Time == 1 | Time == 3 & Group %in% c("A", "M")) %>%
select(Class1 = income)
Class2 <- df %>%
filter(Time == 2 | Time == 3 & Group %in% c("P", "Q")) %>%
select(Class2 = income)
df %>% rowid_to_column() %>%
left_join(Class1 %>% rowid_to_column(), by = "rowid") %>%
left_join(Class2 %>% rowid_to_column(), by = "rowid")
rowid Group Time income Class1 Class2
1 1 A 1 20 20 11
2 2 M 3 14 14 22
3 3 A 2 11 24 21
4 4 P 2 22 NA 22
5 5 Q 3 21 NA 15
6 6 Q 1 24 NA NA
7 7 M 2 22 NA NA
8 8 P 2 15 NA NA
请注意我如何索引首字母缩写数据帧的第一列(也是唯一列)。