選擇唯一值我有如下所示以相等的概率
c1 c2
1 2
1 3
2 4
2 5
2 2
3 1
3 2
...
我想獲得獨特C1值的數據幀,其中C2可以以相等的概率,如果存在具有相同C1值的多個行選擇。例如,最終結果可以是:
c1 c2
1 2
2 2
3 2
...
「c1的每個可能值隨機選擇c2」是我想要的。
選擇唯一值我有如下所示以相等的概率
c1 c2
1 2
1 3
2 4
2 5
2 2
3 1
3 2
...
我想獲得獨特C1值的數據幀,其中C2可以以相等的概率,如果存在具有相同C1值的多個行選擇。例如,最終結果可以是:
c1 c2
1 2
2 2
3 2
...
「c1的每個可能值隨機選擇c2」是我想要的。
下面是一個簡單的方法來做到這一點。假設你的數據框叫做df。
x = unique(df$c1);
y = sapply(x, function(arg)sample(df$c2[df$c1 == arg], 1));
new_df = data.frame(c1 = x, c2 = y);
要做什麼?你正在回答什麼版本的這個問題?出現在「c2」的簡單隨機樣本中的「c1」的唯一值集合?爲'c1'的每個可能值隨機選擇'c2'?還有別的嗎? – whuber
「c1的每個可能值隨機選擇c2」是我想要的。 –
下面就來品嚐c2
一個值的c1
每個唯一值的簡單方法:需要
aggregate(c2 ~ c1, dat, sample, 1) # dat is the name of you data frame
c1 c2
1 1 2
2 2 4
3 3 1
更清楚的解釋,以便爲這個問題是可以理解的。 – whuber
哪部分不清楚? –
都不是!請看我對Stefan Wager回覆一些不同的例子,如何解釋這個問題的評論。 – whuber