如何对R中向量中的所有值求平方?
Posted
技术标签:
【中文标题】如何对R中向量中的所有值求平方?【英文标题】:How to square all the values in a vector in R? 【发布时间】:2014-02-14 19:39:41 【问题描述】:我想对data
中的每个值求平方,我正在考虑使用这样的 for 循环:
data = rnorm(100, mean=0, sd=1)
Newdata = L = NULL; for (i in data) i = i*i L = i return (L)
【问题讨论】:
【参考方案1】:试试这个(更快更简单):
newData <- data^2
【讨论】:
@user3230065 我建议你看看the Quick R tutorial。【参考方案2】:这也行
newData <- data*data
【讨论】:
速度也是data^2
的两倍!【参考方案3】:
sapply
怎么样(对于这个简单的案例来说不是必需的):
newData<- sapply(data, function(x) x^2)
【讨论】:
我不知道这与@Barranka 提供的答案有何不同/更好 它会比矢量化实现更慢。 sapply 是一种编写循环的紧凑方式!【参考方案4】:这是另一种简单的方法:
sq_data <- data**2
【讨论】:
以上是关于如何对R中向量中的所有值求平方?的主要内容,如果未能解决你的问题,请参考以下文章