如果我们坚信新的数据收集将产生相同类型的数据,则我们可能希望在R中将数据帧扩展为更多行。虽然不建议这样做,因为由于此过程,我们在数据中失去了公正性,但这样做是为了节省时间和金钱,而这些钱和金钱将用于投资新的数据收集。在R中,我们可以将rep与seq_len函数一起使用来重复R数据帧的行数。
请看以下数据帧-
> x1<-c("Fruits","Vegetables","Dry Fruits","Dairy") > x2<-c(2,5,6,3) > df<-data.frame(x1,x2) > df x1 x2 1 Fruits 2 2 Vegetables 5 3 Dry Fruits 6 4 Dairy 3
重复行数两次,但另一次重复-
> df[rep(seq_len(nrow(df)),times=2),] x1 x2 1 Fruits 2 2 Vegetables 5 3 Dry Fruits 6 4 Dairy 3 1.1 Fruits 2 2.1 Vegetables 5 3.1 Dry Fruits 6 4.1 Dairy 3
将行数重复五次,但另一次重复-
> df[rep(seq_len(nrow(df)),times=5),] x1 x2 1 Fruits 2 2 Vegetables 5 3 Dry Fruits 6 4 Dairy 3 1.1 Fruits 2 2.1 Vegetables 5 3.1 Dry Fruits 6 4.1 Dairy 3 1.2 Fruits 2 2.2 Vegetables 5 3.2 Dry Fruits 6 4.2 Dairy 3 1.3 Fruits 2 2.3 Vegetables 5 3.3 Dry Fruits 6 4.3 Dairy 3 1.4 Fruits 2 2.4 Vegetables 5 3.4 Dry Fruits 6 4.4 Dairy 3
重复每行相同次数-
> df[rep(seq_len(nrow(df)),each=5),] x1 x2 1 Fruits 2 1.1 Fruits 2 1.2 Fruits 2 1.3 Fruits 2 1.4 Fruits 2 2 Vegetables 5 2.1 Vegetables 5 2.2 Vegetables 5 2.3 Vegetables 5 2.4 Vegetables 5 3 Dry Fruits 6 3.1 Dry Fruits 6 3.2 Dry Fruits 6 3.3 Dry Fruits 6 3.4 Dry Fruits 6 4 Dairy 3 4.1 Dairy 3 4.2 Dairy 3 4.3 Dairy 3 4.4 Dairy 3
重复行数,不同的次数-
> df[rep(seq_len(nrow(df)),times=c(2,3,4,5)),] x1 x2 1 Fruits 2 1.1 Fruits 2 2 Vegetables 5 2.1 Vegetables 5 2.2 Vegetables 5 3 Dry Fruits 6 3.1 Dry Fruits 6 3.2 Dry Fruits 6 3.3 Dry Fruits 6 4 Dairy 3 4.1 Dairy 3 4.2 Dairy 3 4.3 Dairy 3 4.4 Dairy 3