我知道这可能是一个非常简单的问题,但我是R新手,并且一直试图在几个小时内找到它,没有运气...根据其他列中的值将变换应用于矢量的列(R)
我想只有在第二列的值是1以下矩阵的第一列中的每个元素应用转换...
> a<-matrix(c(30,40,50,60,1,0,1,0),nrow=4,ncol=2)
> a
[,1] [,2]
[1,] 30 1
[2,] 40 0
[3,] 50 1
[4,] 60 0
>
所以这将产量(假设我的函数乘以-1的值在列1中):
> a.transformed
[,1] [,2]
[1,] -30 1
[2,] 40 0
[3,] -50 1
[4,] 60 0
我认为这将意味着apply()函数,但我似乎无法得到if()的工作!帮帮我!!
嗨,欢迎SO。由于您在这里很新,您可能需要阅读[** about **](http://stackoverflow.com/about)和[** FAQ **](http://stackoverflow.com/faq)网站的各个部分可以帮助您充分利用它。如果答案确实解决了您的问题,您可能需要考虑*将其标记为接受并/或将其标记为已接受,以显示问题已回答,方法是勾选合适答案旁边的小绿色复选标记。你是**没有义务这样做,但它有助于保持网站清洁未解决的问题,并奖励那些花时间解决问题的人。 –