我认为关于语法的快速问题。我有一个 df,如下所示。我想确定一个人第一次得到苹果、猕猴桃或橙子的时间。为此,我使用以下代码创建了三个名为“apple1”、“kiwi1”和“orange1”的新变量:
ddply(z, "noms", transform,
apple1 = as.numeric(!duplicated(fruits) & fruits == "apple"))->z
但是,我实际上想使用 grepl 来识别我的水果,但无法使代码正常工作。这是我尝试过的:
ddply(z, "noms", transform,
apple20 = as.numeric(!duplicated(fruits) & z[grep('^app.*?', z$fruits),]))->z
ddply(z, "noms", transform,
apple20 = as.numeric(!duplicated(fruits) & grep('^app.*?', z$fruits)))->z
如果有人能指出我在这里出错的地方,那就太好了。谢谢!
样本 DF
noms fruits kiwi1 orange1 apple1
1 john banana 0 0 0
2 john apple 0 0 1
3 john apple 0 0 0
4 john apple 0 0 0
5 lucy kiwi 1 0 0
6 lucy orange 0 1 0
7 lucy apple 0 0 1
8 lucy berry 0 0 0
9 mary apple 0 0 1
10 mary grape 0 0 0
11 mary orange 0 1 0
12 mary apple 0 0 0
13 tom orange 0 1 0