【发布时间】:2020-09-27 13:30:53
【问题描述】:
我有一个销售人员列表,分为三列,我想查看我的列表,并且:
a) 他们的名字出现在三列中的任何一列
b) 他们的名字与实习销售人员一起出现(这些人的名字不在列表中)
ilist <- c("SP1","SP2","SP3","SP4","SP5")
df2 <-
data.frame(sales1 = c("SP5","SP5","SP4","SP3","SP2","SP1","SP3"),
sales2 = c("","SP4","SP1","SP1","SP5","SP3",""),
sales3 = c("","SP9","","SP6","","",""))
输出我希望得到类似下面的答案(尽管我会接受任何输出):
A B
SP1 3 1
SP2 1 0
SP3 3 1
SP4 1 1
SP5 3 1
我尝试创建一个循环和一个函数,但我似乎无法让它们工作。
让它工作后的目标是让它成为group_by 的一部分,这样我就可以按类型和年份分解它
data %>%
group_by(type,year) %>%
your helpful answer here
编辑:
select 我正在查看的列。
我的 iList 将类似于以下内容
(在 3 Columns 中,第 2 列和第 3 列将包含空白,其中销售人员仅出现在第 1 列;也没有设置销售人员或实习生可能出现的位置)
ilist <- c("SJ","KW","MOLC","FERB","BACC")
structure(list(iYear = structure(c(1L, 4L, 3L, 4L, 4L,
4L, 5L, 5L, 6L, 9L), .Label = c("2020-07-01", "2020-07-02", "2020-07-03",
"2020-07-04", "2020-07-06", "2020-07-07", "2020-07-08", "2020-07-09",
"2020-07-10", "2020-07-11", "2020-07-12", "2020-07-13", "2020-07-14",
"2020-07-15", "2020-07-16", "2020-07-17", "2020-07-18", "2020-07-19",
"2020-07-20", "2020-07-21", "2020-07-22", "2020-07-23", "2020-07-24",
"2020-07-25", "2020-07-27", "2020-07-28", "2020-07-29", "2020-07-30",
"2020-07-31"), class = "factor"), iType = structure(c(4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("", "ZB", "BS",
"CFN", "CTR", "MJ", "UK", "EFH", "ENOC", "EY", "F", "G", "CD",
"HAEM", "HN", "IC", "LB", "LY", "MNN", "MOS", "NERO", "ZZZ",
"ZZZQE", "GFT", "PG", "RE", "SK", "UR"), class = "factor"),
Sales.1 = structure(c(74L, 20L, 74L, 16L,
3L, 3L, 3L, 16L, 58L, 41L), .Label = c("", "ABUE", "AHMEM",
"AJOS", "ANNS", "AOK", "BACC", "BH", "BLAFM", "BLOCA", "BRAD",
"BROWNJ", "BRT", "BUIH", "BURDA", "BURYA", "CANRJ", "CAVM",
"CHAMBA", "COOSNP", "COUPSI", "CPH", "CTT", "DARA", "DILP",
"EXPAT", "FCH", "FERB", "FERMA", "GT", "GT", "HAEM", "HAMJR",
"HENJ", "HENJA", "HOWRA", "HUSA", "ILINC", "JONG", "KC",
"KNOT", "KW", "LAUC", "LOOP", "LYEJO", "LYNN", "MAJJ", "MCGREA",
"MENT", "MKB", "MOLC", "MUDHS", "MULLM", "NC", "NODS",
"O'BSG", "OLIT", "OLIVK", "PAEI", "PARKD", "PATEF", "PERT",
"POL", "PTRHUS", "RAMACN", "RAMS", "REYMA", "ROBCM", "ROBINE",
"SAMJN", "SAYC", "SHARMM", "SHEG", "SJ", "SJN", "SKINT",
"SLOP", "SORT", "SOUBIO", "SPOE", "TELED", "THAN", "THEL",
"TURH", "TURHJ", "UCONS", "UPH", "UT", "VALK", "WALJ"
), class = "factor"), Sales.2 = structure(c(1L,
12L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 45L), .Label = c("", "ABUE",
"AHMEM", "AJOS", "AOK", "BACC", "BH", "BLAFM", "BROWNJ",
"BUIH", "BURDA", "BURYA", "CANRJ", "CAVM", "CHAMBA", "COOSNP",
"COUPSI", "DARA", "DILP", "FCH", "FERB", "FERMA", "GYNT",
"HOWRA", "HUSA", "ILINC", "KW", "LAUC", "LOOP", "LYNN", "MAJJ",
"MOLC", "MULLM", "NC", "OLIVK", "PARKD", "POL", "PTRHUS",
"RAMS", "REYMA", "ROBCM", "ROBINE", "SAMJN", "SHARMM", "SJ",
"SJN", "SKINT", "SLOP", "SORT", "SPOE", "TELED", "THAN",
"THEL", "TURH", "VALK"), class = "factor"), Sales.3 = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "AHMEM",
"AOK", "BACC", "BLAFM", "CHAMBA", "COUPSI", "DILP", "FCH",
"KW", "LOOP", "MAJJ", "PTRHUS", "RAMS", "ROBCM", "SAMJN",
"SHARMM", "SJ", "TELED", "THAN", "VALK"), class = "factor")), row.names = c(NA,
10L), class = "data.frame")
【问题讨论】:
-
你想要的不是很清楚。例如,SP1 出现在 df2$sales1 的位置 6,以及 df2$sales2 的位置 3 和 4。因此,当您声明希望它们出现在任何列中的位置时,我会想象您希望 A 列中 SP1 的结果为 (3, 4, 6) 。为什么结果是 3?你还说你想按类型和年份分组......很好,但是你没有任何类型和年份列,所以不清楚你想要实现的目标。
-
哼,您想知道在
df2的哪一行中出现了与实习生一起出现的特定销售? -
使用实时数据更新
-
iType在您的实时数据中用于什么?在这个过程中被忽略了吗?是否用于“按类型和年份细分”? -
@Ben 类型是它所属的部门/部门。所以这个时期,对于这些部分,由这个人。