Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提取包含“";“字符串”;在R编程中的列中_R_Excel - Fatal编程技术网

提取包含“";“字符串”;在R编程中的列中

提取包含“";“字符串”;在R编程中的列中,r,excel,R,Excel,Excel文件包含许多带有数字、字母和字母数字的列 Column1 Column2 column2 1 1 abcd fm1 2 2 bcde fm2 3 3 cdef fm3 4 4 aced fm4 5 5 cadf fm5 我已经在R中导入了该文件 data1 <- read.csv("Test1.csv") data1您可以使用grep df[g

Excel文件包含许多带有数字、字母和字母数字的列

  Column1 Column2 column2
1       1    abcd     fm1
2       2    bcde     fm2
3       3    cdef     fm3
4       4    aced     fm4
5       5    cadf     fm5
我已经在R中导入了该文件

data1 <- read.csv("Test1.csv")

data1您可以使用
grep

df[grep('cd', df$Column2),]
数据
df我维护的包qdap中的
搜索功能使这项任务非常简单:

library(qdap)
Search(df, "cd", 2, 0)

##   Column1 Column2 column2
## 1       1    abcd     fm1
## 2       2    bcde     fm2
## 3       3    cdef     fm3

第一个参数是data.frame,第二个是术语,可选的第三个参数是列名或数字,第四个是字符串距离,因为函数默认为模糊匹配。使用
0
使其完全匹配。

在看到上面@akrun提供的答案之前,我将以下内容组合在一起:

    #Data
    dF <- structure(list(Column1 = 1:5, Column2 = c("abcd", "bcde", "cdef", 
                    "aced", "cadf"), column2 = c("fm1", "fm2", "fm3", "fm4", "fm5"
                    )), .Names = c("Column1", "Column2", "column2"), class = "data.frame",
                    row.names = c(NA, -5L))

    #Find rows with the string "cd" in the second column of the dataFrame 'dF'
    rows <- grep("cd", dF$Column2, ignore.case = F)
    #Display those rows
    dF[rows,]
#数据

dF在示例中,似乎所有行都符合条件?@akrun我认为他是
cd
类似
cd
而不是
cfd
@AvinashRaj
grep('cd',c('cdf','cfd'))35;[1]1
只给出第一个匹配项
library(qdap)
Search(df, "cd", 2, 0)

##   Column1 Column2 column2
## 1       1    abcd     fm1
## 2       2    bcde     fm2
## 3       3    cdef     fm3
    #Data
    dF <- structure(list(Column1 = 1:5, Column2 = c("abcd", "bcde", "cdef", 
                    "aced", "cadf"), column2 = c("fm1", "fm2", "fm3", "fm4", "fm5"
                    )), .Names = c("Column1", "Column2", "column2"), class = "data.frame",
                    row.names = c(NA, -5L))

    #Find rows with the string "cd" in the second column of the dataFrame 'dF'
    rows <- grep("cd", dF$Column2, ignore.case = F)
    #Display those rows
    dF[rows,]