我和R一起工作。
在這里我分享我的數據樣本。。。
structure(list(column_a = c("1_1", "1_1", "1_2", "1_2", "1_2",
"2_1", "2_2", "2_2", "3_1", "3_2"), column_b = c("kitchen", "tree",
"hate", "kind", "table", "dog", "human", "car", "moon", "rage"
)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"
))
column_a column_b
1 1_1 kitchen
2 1_1 tree
3 1_2 hate
4 1_2 kind
5 1_2 table
6 2_1 dog
7 2_2 human
8 2_2 car
9 3_1 moon
10 3_2 rage
我需要計算條件(1u1、1u2等)產生的單詞總數的平均值。我唯一的問題是以“\u1”結束的條件的總數是50,以“\u2”結束的條件的總數是100。
因此,由于條件“1_1”產生了兩個單詞(在樣本中),我應該用50來計算平均值,這是2/50=0.04。但是,在計算“1μ2”條件下的平均值時,我需要除以100,即3/100=0.03。
我需要創建一個列,其中包含條件產生的單詞總數的平均值,考慮到某些條件需要用50來計算,而其他條件需要用100來計算。我如何做到這一點,并且仍然將結果放在同一列中?
您可以使用
case_when
包含一個新的列(divide
),它可以是50或100,并將組(column_a
)中的行數除以它。與
add_count
類似-