我试图创建一个新列,该列的值是使用列A中的值作为样本的上限所形成的。我尝试了以下方法,但没有成功。有任何建议吗?假设值 A 是 15.25,然后我想生成一个在 1 和 15.25 之间的值,这些值按 1/4 的间隔进行分割。
my_data = data.frame(A = sample(seq(1, 20, 1/4), 10))
my_data %>% mutate(B = sample(seq(1, A, 1/4), 1))
rowwise()
。你能解释一下为什么在这里使用rowwise()
吗? - Ramakrishna SA
的一个值放入seq
中即可生成等间距数字序列。rowwise
确保您逐行变异数据集,每次迭代都取一个A
的值。而没有rowwise
,seq
中的A
是整个列A
,而不仅仅是一个值。 - Anoushiravan Rrowwise()
呢?mtcars %>% mutate(x = hp*2)
和mtcars %>% rowwise() %>% mutate(x = hp*2)
。 - Ramakrishna Shp
乘以2。因此,无论是一次性将整个hp
向量相乘还是逐个相乘(速度较慢),都不会导致不同的结果。但是,在您的问题中,您需要单独考虑A
的每个值,在您的seq
和sample
操作中进行考虑。 - Anoushiravan R