问题描述
具有这样的df:
gradle.build
我按特定值过滤,例如1:
df <- structure(list(V1 = c("1","2","3","4","5","6"),V2 = c("Cat,Dog","Fish,Bird","Cat,Fish,"Cat","Dog,"Owl,Dog")),class = "data.frame",row.names = c(NA,-6L))
如何将V2的结果保存在多个字符串变量中(而不是df中),
df <- df %>% filter(V1 == 1)
请注意,现在处理V1 == 3时,我有3个变量V2_1,V2_2,V2_3。
谢谢!
解决方法
您可以在","
上分割字符串并获取向量。
library(dplyr)
df <- df %>% filter(V1 == 1)
tmp <- unlist(strsplit(df$V2,','))
如果要将数据作为V2_1
,V2_2
之类的独立变量,则可以使用list2env
。
list2env(setNames(as.list(tmp),paste0('V2_',seq_along(tmp))),.GlobalEnv)