【发布时间】:2016-01-19 10:02:22
【问题描述】:
第一个查询:
文件名是测试,它是一个数据框,向量只是一个包含诸如 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]}
【问题讨论】:
-
投票结束,它缺少minimal reproducible example,请参阅this thread 以改善您的问题。