gpt4 book ai didi

r - R中基于grep返回的代码新变量

转载 作者:行者123 更新时间:2023-12-05 01:32:32 25 4
gpt4 key购买 nike

我有一个变量 actor这是一个字符串,包含类似 "military forces of guinea-bissau (1989-1992)" 的值以及大量其他相当复杂的不同值。我一直在用grep()找到匹配不同类型转换的角色模式。例如,我想编写一个新变量 actor_type1actor包含 "military forces of" , 不包含 "mutiny of" ,以及字符串变量 country也包含在变量 actor 中.

我不知道如何有条件地创建这个新变量而不诉诸某种可怕的 for 循环。帮我!

数据大致如下:

|   | actor                                              | country         |
|---+----------------------------------------------------+-----------------|
| 1 | "military forces of guinea-bissau" | "guinea-bissau" |
| 2 | "mutiny of military forces of guinea-bissau" | "guinea-bissau" |
| 3 | "unidentified armed group (guinea-bissau)" | "guinea-bissau" |
| 4 | "mfdc: movement of democratic forces of casamance" | "guinea-bissau" |

最佳答案

如果您的数据在 data.frame df:

> ifelse(!grepl('mutiny of' , df$actor) & grepl('military forces of',df$actor) & apply(df,1,function(x) grepl(x[2],x[1])),1,0)
[1] 1 0 0 0
grepl返回一个逻辑向量,这可以分配给任何东西,例如 df$actor_type .

打破那个公寓:
!grepl('mutiny of', df$actor)grepl('military forces of', df$actor)满足您的前两个要求。最后一块, apply(df,1,function(x) grepl(x[2],x[1]))逐行和 greps对于 Actor 的国家。

关于r - R中基于grep返回的代码新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com