R 拆分数据帧的整列,只保留第一部分
使用以下简单字符串:R 拆分数据帧的整列,只保留第一部分,r,R,使用以下简单字符串: a <- "l_Gf43qCW2r&auty=in_out" dataframes有什么不同的制作方法吗?试试这个: unlist(lapply(strsplit(as.character(df$col1), "&auty="), '[[', 1)) 在数据框df的整个列col1上应用strsplit将提供一个列表,其中每个元素都包含拆分的第一部分和第二部分。通过这样做,您可以提取每个列表元素的第一部分,unlist将以向量的形式给出结果 as.c
a <- "l_Gf43qCW2r&auty=in_out"
dataframes有什么不同的制作方法吗?试试这个:
unlist(lapply(strsplit(as.character(df$col1), "&auty="), '[[', 1))
在数据框df
的整个列col1
上应用strsplit
将提供一个列表,其中每个元素都包含拆分的第一部分和第二部分。通过这样做,您可以提取每个列表元素的第一部分,unlist
将以向量的形式给出结果
as.character(df$col1)
可能会修复您的错误。可能是这样的:
sapply(df$col1,function(x) gsub("&auty=.*","",x))
一个选项是使用
sub
sub("&auty.*", "", a)
#[1] "l_Gf43qCW2r"
发布
dput(df)
的结果是有意义的,这样我们就可以看到您的df
的样子。旁注:您可以删除循环之前的n=1
,以及循环内部的n=n+1
。将strsplit(df$col1[n],“&auty=“)[[1]][1]替换为strsplit(df$col1[i],“&auty=“)[[1]][1]
。如果问题仍然存在,则使用函数>拆分器粘贴dput(df$col1)
的结果。
unlist(lapply(strsplit(as.character(df$col1), "&auty="), '[[', 1))
sapply(df$col1,function(x) gsub("&auty=.*","",x))
sub("&auty.*", "", a)
#[1] "l_Gf43qCW2r"