R-带grep的嵌套IF语句

狐狸87

我试图根据数据框中的几个条件来标记数据中的某些行。

我的数据如下所示:

X <- structure(list(Website = c("www.something.at", "www.something.nl", "www.something.ch", "www.something.dk", "www.something.at"), 
                    Country = c("German", "Netherlands", "German", "Denmark", "Austria")), 
                    .Names = c("Website", "Country"), row.names = c(NA, 10L), class = "data.frame")

我需要做的是添加一个新列,该列根据某些条件将数据标记在新列中。因此,在国家/地区等于德语的地方,我需要查看网站URL,并使用IF函数将其标记为其他国家/地区名称。即奥地利或瑞士。

我已经深入到下面,我希望我缺少一些非常简单的东西,但是该代码可以很好地标记瑞士,但是在所有其他情况下,所有内容都标记为奥地利。

    for(i in 1:nrow(X)){
    if(length(grep("German", X$Country[i]))>0)

    if(length(grep("\\.at$", X$Website[i]))>0)
    X$Website_2[i] <- "Austria"

    else
    if(length(grep("\\.ch$", X$Website[i]))>0)
    X$Website_2[i] <- "Switzerland"

    }

任何帮助,不胜感激!

JPC

您正在寻找类似这样的东西吗?(顺便说一句,您的dput似乎有问题,它指出有10行,但是只有5个值,因此我也在这里进行了更改。

> X <- structure(list(Website = c("www.something.at", "www.something.nl", "www.something.ch", "www.something.dk", "www.something.at"), 
+                     Country = c("German", "Netherlands", "German", "Denmark", "Austria")), 
+                     .Names = c("Website", "Country"), row.names = c(NA, 5L), class = "data.frame")
> 
> 
 #we use upper to make it robust against multiple capitalization schemes
 #instead of nesting another ifelse, we use the fact that we can add to logical values
 # and use the returned number to index into out country vector.
> X<-within(X,
+           cleanCountry <- ifelse(toupper(Country)=="GERMAN",
+                           c("Switzerland", "Austria")[1+grepl("\\.at", Website)],
+                            Country))
> X
           Website     Country cleanCountry
1 www.something.at      German      Austria
2 www.something.nl Netherlands  Netherlands
3 www.something.ch      German  Switzerland
4 www.something.dk     Denmark      Denmark
5 www.something.at     Austria      Austria

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用或语句r grep

来自分类Dev

如果语句在R中嵌套

来自分类Dev

R中的嵌套粘贴语句

来自分类Dev

加快嵌套ifelse语句-R

来自分类Dev

带IF语句的嵌套foreach循环

来自分类Dev

R中嵌套ifelse语句的替代方法

来自分类Dev

R:组合/嵌套的if_else语句

来自分类Dev

SQL Server R2:带where子句的select语句

来自分类Dev

在r中使用带for循环的if语句返回结果

来自分类Dev

带嵌套子句的SQL语句查询

来自分类Dev

带嵌套If语句的条件格式[excel]

来自分类Dev

R如何在if语句中使用grep

来自分类Dev

在R中嵌套if语句-即使'if'语句为TRUE也会执行'else'语句

来自分类Dev

R中嵌套ifelse语句中的值丢失

来自分类Dev

R:改进嵌套的ifelse语句和多种模式

来自分类Dev

在R错误中嵌套if和max if语句:未使用的参数

来自分类Dev

带if语句的嵌套循环的时间复杂度

来自分类Dev

带日期和滞后的动态If_else语句:If_else在R中不起作用

来自分类Dev

从 R 中的多个 URL(带身份验证)检索数据的嵌套函数

来自分类Dev

R带变量的函数

来自分类Dev

带R的分组图

来自分类Dev

带R的zip文件

来自分类Dev

带R的矩阵表

来自分类Dev

带r的多个图

来自分类Dev

带循环的R编程

来自分类Dev

R带变量的函数

来自分类Dev

带计数的R图

来自分类Dev

带R的API请求

来自分类Dev

带有嵌入式“if/else”语句的双嵌套循环可迭代 R 中的多维数组