这就是我尝试在R ...中编写的代码。
我们说我有50行和4列。如果(第1行,第2列)中的值大于5,则计算(第1行,第4列)中的值。
例如:(行,列)
如果(1,2)=(6)则计算(1,4)
中的值如果(2,2)=(8)则计算(2,4)
中的值如果(3,2)=(4)则不计算(3,4)
中的值依此类推....然后添加第4列中的所有值。
我如何在R中编码?我尝试过创建函数,循环,if语句等。
答案 0 :(得分:1)
这不应该太难!只需将您的data.frame
或matrix
(不过您的数据存储)设置为仅包含第四列的值,而只包含第二列大于5的行。
sum(yourDataFrame[yourDataFrame[ ,2] > 5, 4])
因为许多R函数是矢量化的,所以使用像sum()
这样的矢量化函数比循环更容易(也更快!)。 yourDataFrame[ ,2] > 5
将返回逻辑向量。将sum()
应用于该向量会将TRUE
条目视为1,将FALSE
条目视为0,从而提供yourDataFrame[ ,2]
中大于5的值的计数。