我有这个巨大的数据向量“a” 这是截图
现在我应该发现基因数据不一致。基本上......给出正数为1,0,给出0,给出-1为负。我正在尝试做一个这样的命令:
if a > 0, then print 1.. a < 0, print -1... a = 0, print 0.
我也希望它像1s,0s和-1s中的上图一样。
我尝试了for循环,if语句,但似乎没有用。
答案 0 :(得分:6)
也许这会有所帮助:
b <- sign(a)
print(b)
答案 1 :(得分:1)
# create some data for illustration
a <- rnorm(100, 0, 56)
print_a<-ifelse(x>0, 1, ifelse(x==0, 0, -1))
print_a
答案 2 :(得分:0)
+1 @ Rhertel的回答是完成任务的快捷方式。
但是,如果您想修复for循环,请发布您的代码。以下是使用iris数据集实现您想要执行的操作的for循环的一般示例。
library(datasets)
for (i in diff(iris[,1])){
if (i < 0){print(-1)}
else if (i > 0){print(1)}
else {print(0)}
}