如何在R语言中将向量的每个元素分别与单个数值相乘
在R中给向量每个元素乘以100的方法
你用prod()函数没得到想要的结果是因为它的作用是计算向量所有元素的乘积,比如prod(v)会算出12×26×77×54的结果,不是逐个元素乘100。
而你试的*运算符其实就是正确的解法——R里的向量运算默认是向量化的,直接让向量和标量相乘,就能让每个元素都乘上这个标量:
v <- c(12, 26, 77, 54) v * 100
运行后会直接输出:[1] 1200 2600 7700 5400
要是想把结果存起来复用,赋值给新变量就行:
v_times_100 <- v * 100
之后调用v_times_100就能拿到处理后的向量。
当然也能用lapply()这类函数实现,但对于这种简单的标量乘法,直接用*是最简洁高效的方式。
内容的提问来源于stack exchange,提问作者R2022
相关产品推荐
相关产品推荐

