我有一个虚拟变量,如下所示:
df <- data.frame(year = seq(1990, 1997, 1),
x = c(1, 0, 0, 0, 1, 1, 0, 0))
year x
1990 1
1991 0
1992 0
1993 0
1994 1
1995 1
1996 0
1997 0
Run Code Online (Sandbox Code Playgroud)
如果前三年中任何一年的值非零,我想创建一个y等于的虚拟值。预期结果:1x
year x y
1990 1 NA
1991 0 NA
1992 0 1
1993 0 0
1994 1 1
1995 1 1
1996 0 1
1997 0 1
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?dplyr优选解决方案。
我有两个带有字符串的向量,如下所示:
x <- c("Zimbabwe (Rhodesia)", "India", "Equatorial Guinea", "United States")
y <- c("Zimbabwe", "India", "Guinea")
Run Code Online (Sandbox Code Playgroud)
我想获得一个向量,其中包含和之间不完全匹配的字符串。理想的结果是:xy
"Zimbabwe (Rhodesia)" "Zimbabwe" "Equatorial Guinea" "Guinea" "United States"
Run Code Online (Sandbox Code Playgroud)
我试图在这里巩固一些概念 - 我知道我可以用来grep(paste(y, collapse = "|")获取向量的部分匹配,并使用锚点来查找给定字符串的精确匹配。但如何整合它们呢?
我该怎么做呢?
我有这样的数据:
df <- data.frame(id = c("001", "002", "003", "004"),
banana = c("banana", NA, NA, NA),
apple = c(NA, "apple", "apple", NA),
orange = c("orange", NA, NA, NA),
mango = c(NA, NA, NA, "mango"))
id banana apple orange mango
001 banana NA orange NA
002 NA apple NA NA
003 NA apple NA NA
004 NA NA NA mango
Run Code Online (Sandbox Code Playgroud)
我想flavor通过以下方式将变量合并为一个变量:
id banana apple orange mango flavor
001 banana NA orange NA mixed
002 NA apple NA NA apple
003 …Run Code Online (Sandbox Code Playgroud) 我有以下数据:
df <- data.frame(id = c("001", "001", "001", "002", "002", "003", "003"),
x = c(0, 0, 0, 0, 1, 0, 1))
id x
001 0
001 0
001 0
002 0
002 1
003 0
003 1
Run Code Online (Sandbox Code Playgroud)
数据的性质使得某些数据可能id只有行x = 0。对于x = 1给定的id,它只出现一次,并且也出现在该 的最后一行id。我想删除每个 的重复行id,但对于x = 1an id,我只想保留该行。
所需的输出:
id x
001 0
002 1
003 1
Run Code Online (Sandbox Code Playgroud)
tidyverse优选解决方案。谢谢!