我有一个分类单元相对丰度的数据框。我正在做一个维恩图,需要我的数据在存在/不存在的格式。我想对应于列号,其中我有这样的数据:
| 一个|B| c|
| --------------|--------------|--------------|
| 1| 0|三|
| 0|二|0|
| 0|二|三|
我需要找出如何使用R,而不是手动更改值。我已经找到了一种将值更改为列编号的方法,但是它会更改整行,而不仅仅是大于零的值。我尝试添加if语句,但它不像我定义的i
那样工作。
# I tried this first - which changes all values in the column to column number.
for(i in 1:ncol(x)) {
x[ ,i] <- i
}
# not quite sure how to change it to account for the values and only change value if > 0
# Doing something like this did not work... I added if statement both before and after defining
# x[,i] <- i to see what that would do... but no luck.
for(i in 1:ncol(x)) {
if(x == 0) {
return(0)
}
x[,i] <- i
}
1条答案
按热度按时间iqih9akk1#
你很接近了!这应该可以工作:
上面的代码实际上是相当有效的,但你可能会发现这更容易理解: