我有一个样本,其中50%的观察结果是白人,50%是非裔美国人。
我想获得一个随机的子样本,其中这个比例被修改为80%白人和20%非裔美国人。
我已经尝试过命令分层,但我找不到允许我将分配分配给分层标准的选项。
提前感谢您的帮助!
答案 0 :(得分:0)
我会过滤白人和非裔美国人的数据,然后从每个子集中选择。
## 20% of the african sample
smp_size <- floor(train_ratio * nrow(df_african))
## set the seed to make your partition reproductible
set.seed(42)
data_ind_a <- sample(seq_len(nrow(df_african)), size = smp_size)
和非洲裔美国人
new_data <- c(white[data_ind_w,],african[data_ind_a,])
这就是新数据
public void onLocationChanged(Location location) {
ArrayList<Activity> activities = new ArrayList<Activity>();
activities.add(StartTravel.StartTravelActivity);
boolean isAppRunning = false;
for (Activity activity : activities) {
if (activity != null)
isAppRunning = true;
}
if (isAppRunning) {
startLocationUpdates();
}
if (!isAppRunning) {
startLocationUpdates();
}
curLat = location.getLatitude();
curLng = location.getLongitude();
curLat1 = location.getLatitude();
curLng1 = location.getLongitude();
if (curLat != 0.0 && curLng != 0.0) {
callWebservice();
}
Log.e("IN","Track Location :: " + curLat + curLng);
// boolean isInserted1 = myDb.INSERT(String.format("%.6f",location.getLatitude()),String.format("%.6f",location.getLongitude()));
}
答案 1 :(得分:0)
如果您的原始数据集有100行(50个白色和50个非洲裔美国人),那么80%将是40个样本,20%将是10个样本。了解这些值后,您可以尝试:stratified(mydf, "group", size = c("White" = 40, "African-American" = 10))
。
示例:
mydf <- data.frame(group = rep(c("White", "African-American"), each = 50), value = 1:100)
mydf
library(splitstackshape)
set.seed(1)
x <- stratified(mydf, "group", size = c("White" = 40, "African-American" = 10))
summary(x)
# group value
# African-American:10 Min. : 1.00
# White :40 1st Qu.:15.25
# Median :31.00
# Mean :34.88
# 3rd Qu.:47.50
# Max. :93.00