拆分字符串并提取单个元素

时间:2016-01-19 10:02:23

标签: r loops sapply

第一次查询:

文件名是Test,它是一个数据框,向量只有一个包含Stacy-A,Mark-B,Giselle-C等名称。 我想拆分一个名字让我说Stacy-A和我有超过50000行。 所以我想要一个包含Stacy的向量和一个包含A的向量,即分割后的字符。我为此运行了一个循环。由于循环返回列表,我使用了它。

for(i in 1:nrow(TEST)){TEST[i,"Name"]<-strsplit(TEST[i,"Name"],"-")[[1]][1] 
  TEST[i,"Character"]<-strsplit(TEST[i,"Name"],"-")[[1]][2]}

这需要很多时间。 有人可以让我知道如何使用sapply或任何应用函数,但我想要数据框而不是列表或矩阵。

第二次查询:

Test是我想要值的数据库,我还有一个名为User的文件,我想从中提取值。

我想像excel这样的查找从另一个文件中选择值。我的循环中有两个条件。 我找到匹配的值然后我才选择它,如果有重复,我只选择一个。我用过这个循环。这需要3个小时。我在我的用户文件中有数据框和300000多行,我想要值。

for (i in 1:nrow(Test)){if(Test[i,"Item_Cd"] %in% User_item_no)
 {item_cd_found<-Test[i,"Item_Cd"]Test[i,"Order.Status"]<-as.character(User[which(User$Item.No.==item_cd_found),"Name"])[1]}

1 个答案:

答案 0 :(得分:1)

这可能是一个没有可重复的例子的黑暗镜头,但你可能会在这样的事情之后。首先,我将每个元素拆分为template <typename T> using SparseMatrix = std::vector<Car<T>>; ,然后取出第一个和第二个元素并将其分配给相应的变量。

-
相关问题