Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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_String_Dataframe_Get - Fatal编程技术网

R:基于模式从整个数据帧中获取字符串

R:基于模式从整个数据帧中获取字符串,r,string,dataframe,get,R,String,Dataframe,Get,假设我有一个包含以下详细信息的数据框: Name Card1 Card2 A A11234 A24321 B B11234 B24321 C C11234 C24321 D D11234 D24321 E E11234 E24321 我想根据字符形式的1234和4321模式从这个数据帧中提取字符串。假设我将字符串提取到一个名为all_cards的变量中,预期结果如下所示: > all_cards [1] "

假设我有一个包含以下详细信息的数据框:

Name   Card1    Card2
A      A11234   A24321
B      B11234   B24321
C      C11234   C24321
D      D11234   D24321
E      E11234   E24321
我想根据字符形式的1234和4321模式从这个数据帧中提取字符串。假设我将字符串提取到一个名为all_cards的变量中,预期结果如下所示:

> all_cards
 [1] "A11234"           "A24321"            "B11234"          "B24321"        
 [5] "C11234"           "C24321"            "D11234"          "D24321"     
 [9] "E11234"           "E24321"        

> str(all_cards)
 chr [1:10] "A11234" "A24321" "B11234" "B24321" ...
请告知,提前谢谢

您可以取消数据帧列表并使用grep

您可以使用t来转置不包括名称列的数据帧,并同时将其强制为矩阵。最后将其强制为as.vector

资料

如上所述,所有的_卡和strall_卡都不匹配。为什么所有的_卡只有3个元素?这些是列表元素吗?strall_cards建议使用字符向量。
all_cards <- unname(grep('1234|4321', unlist(df), value = TRUE))
as.vector(t(dat[-1]))
# [1] "A11234" "A24321" "B11234" "B24321" "C11234" "C24321" "D11234" "D24321" "E11234"
# [10] "E24321"
dat <- structure(list(Name = c("A", "B", "C", "D", "E"), Card1 = c("A11234", 
"B11234", "C11234", "D11234", "E11234"), Card2 = c("A24321", 
"B24321", "C24321", "D24321", "E24321")), row.names = c(NA, -5L
), class = "data.frame")