如何对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 &lt;- data**2

【讨论】:

以上是关于如何对R中向量中的所有值求平方?的主要内容,如果未能解决你的问题,请参考以下文章

获取R向量中的所有最大值索引

excel曲线拟合中的决定系数R平方是如何求出来的?

如何对R中的列表中的元素进行排序?

R语言使用names函数为向量vector中的所有数据对象设置名称使用names函数查看向量中所有数据的名称

如何访问R中表中的单个元素

对列表中的所有元素进行平方