我正在尝试在R中为一个大型进程编写一些代码,但我继续收到此错误:
<script src="https://d3js.org/d3.v4.min.js"></script>
我知道导致错误的原因是选择了零行,因此无法进行替换。但是对于我的工作流程,如果刚刚跳过该行,我不会介意。
我知道我可以用if:
来避免它Example <- data.frame(Col1 = c(1, 2, 3, 4, 5),
COl2 = c("A", "B", "C", "D", "E"))
Example[Example$Col1 > 3,]$Col1 <- 3 #works fine, 2 rows were selected
Example[Example$Col1 < -5,]$Col1 <- 0 #gets an error, 0 rows were selected
Error in `$<-.data.frame`(`*tmp*`, Col1, value = 0) :
replacement has 1 row, data has 0
但我想知道是否有更简单(或更清洁)的方法。任何提示?
答案 0 :(得分:3)
这样写:
Example$Col1[Example$Col1 > 3] <- 3
Example$Col1[Example$Col1 < -5] <- 0