我有一个ID列表(有些是重复的),我有一个KEEP变量.如果在KEEP列中有这样的实例,我想创建一个1或0的列,即使它不是那个特定的列
id <- c(101,101,101,102,102,102,103,103,103,104,104,106,107,108)
keep <- c("Y",0,0,"Y",0 ,0 ,"Y" ,0 ,0 ,0 ,0 ,0 ,0 ,0)
df <- data.frame(id, keep)
Run Code Online (Sandbox Code Playgroud)
我想创建第三列,如果保留列中有一个Y,则匹配所有ID.
看起来应该是这样的.
> df
id keep countkeep
1 101 Y 1
2 101 0 1
3 101 0 1
4 102 Y 1
5 102 0 1
6 102 0 1
7 103 Y 1
8 103 0 1
9 103 0 1
10 104 0 0
11 104 0 0
12 106 0 0
13 107 0 …Run Code Online (Sandbox Code Playgroud) 从我见过的所有答案来看,这似乎是其他语言中的常见问题,但我在 R 数据框中遇到了这个问题。我有用美元符号和逗号导入的数据,但我似乎无法将它们取出。我已经尝试了所有我能想到的 str_sub 类型的东西,但无法将它们取出。看起来他们只是被忽视了。
test.df <- structure(list(week_ending = structure(c(18747, 18747, 18747,18747, 18747, 18747, 18747, 18747, 18747, 18747), class = "Date"),store_num = c(7005, 7005, 7005, 7005, 7005, 7005, 7005, 7748,7748, NA), units = c("116", "1", "6", "2", "1", "1", "2","1", "46", "2,539"), cost = c("$699.36", "$14.29", "$34.02","$0.90", "$11.47", "$1.28", "$2.16", "$1.89", "$165.81","$16,250.83 "), dollars = c("$1,564.07 ", "$24.99", "$54.00","$9.98", "$24.99", "$2.99", "$7.98", "$4.99", "$360.11","$37,465.88 "), item_description = c("$1,564.07 ", "$24.99","$54.00", "$9.98", "$24.99", "$2.99", "$7.98", "$4.99", "$360.11","$37,465.88 ")), row.names = c(1L, …
我正在使用RODBC包访问我在R中的sql数据库.我无法找到有关如何将矢量从R传递到sql作为向量的任何有用信息.
id <- ('00003', '00100')
query <- sqlQuery(channel = channel, query = "select *
from prod_cust_vw.store_dim
where store_num in id")
Run Code Online (Sandbox Code Playgroud)
我想将id向量传递给sql而不是硬编码.