R 如何从字符集合中选择唯一的字符串
我在数据框中存储了一些列,当我调用特定行时,这些列具有以下模式:R 如何从字符集合中选择唯一的字符串,r,R,我在数据框中存储了一些列,当我调用特定行时,这些列具有以下模式: str(df[5,9]) #Output: chr "bike,bike,car" df[5,9] #Output: "bike,bike,car" 我试图在数据帧的每一行中找到不同的字符串。所以我期望的结果是:“自行车,汽车” 类似地,当我调用df[5,10]时,我得到:9,9,10。我只想要:9,10 有没有办法在这些字符串/整数上找到不同的值 任何帮助都会很好 我们可以循环遍历列,在,处进行拆分,得到唯一的元素并将其粘贴在
str(df[5,9]) #Output: chr "bike,bike,car"
df[5,9] #Output: "bike,bike,car"
我试图在数据帧的每一行中找到不同的字符串。所以我期望的结果是:“自行车,汽车”
类似地,当我调用df[5,10]时,我得到:9,9,10。我只想要:9,10
有没有办法在这些字符串/整数上找到不同的值
任何帮助都会很好 我们可以循环遍历列,在
,
处进行拆分,得到唯一的元素并将其粘贴在一起
df[] <- lapply(df, function(x) sapply(strsplit(as.character(x), ",\\s*"),
function(y) toString(unique(y))))
df[]感谢您的回复。我收到以下错误:strsplit(x,“,\\s*”)中的错误:非字符参数。列是否需要具有特定的数据类型才能工作?我想既然有正则表达式,就应该将其保留为字符类型。@rmahesh修复了它。这是因为您有factor
列。您可以使用as.character