我有 df1:
Type CA AR Total
alpha 2 3 5
beta 1 5 6
gamma 6 2 8
delta 8 1 9
Run Code Online (Sandbox Code Playgroud)
我有 df2:
Type CA AR Total
alpha 3 4 7
beta 2 6 8
gamma 9 1 10
delta 4 1 5
Run Code Online (Sandbox Code Playgroud)
我想添加两个数据框中的值以获得 1 个数据框,结果如下:
Type CA AR Total
alpha 5 7 12
beta 3 11 14
gamma 15 3 18
delta 12 2 14
Run Code Online (Sandbox Code Playgroud)
示例 --> (alpha, CA) = 2(来自 df1)+ 3(来自 df2)= 5(结果 df)
有谁知道如何做到这一点?我认为这不完全是合并,因为合并将覆盖该值,而我想添加该值。
提前致谢!!
我有以下数据框
Type CA AR
alpha 1 5
beta 4 9
gamma 3 8
Run Code Online (Sandbox Code Playgroud)
我想获得列和行总和,使其看起来像这样:
Type CA AR Total
alpha 1 5 6
beta 4 9 13
gamma 3 8 11
Total 8 22 30
Run Code Online (Sandbox Code Playgroud)
我可以做 rowSums(如上所示),我猜是因为它们都是数字。
colSums(df)
Run Code Online (Sandbox Code Playgroud)
但是,当我执行 colSums 时,我收到错误“x must be numeric”。我意识到这是因为“类型”列不是数字。
如果我执行以下代码,以便尝试将值打印到第 4 行(并且仅对第 2 到第 4 列求和)
df[,4] = colSums(df[c(2:4)]
Run Code Online (Sandbox Code Playgroud)
然后我收到一个错误,即替换与数据大小不同。
有谁知道如何解决这个问题?我想打印第 2-4 列的列总和,并将第 1 列总计留空还是允许我打印“总计”?
提前致谢!!
我有一个 1000 行的数据框。我想要循环的代码非常简单 - 我只想将第 4 列中的所有值设为大写。我希望它能够在任何行中出现错误时跳过该行并继续执行其余行。
我写了这段代码:
for(i in 1:1000)
{
tryCatch(toupper(Total_Data_2[i,4]), error = function(e) next)
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:Error in value[[3L]](cond) : no loop for break/next, jumping to top level
有人可以帮我弄这个吗?我可以做一个 tryCatch 或某种 if iserror 。
提前致谢!!
r ×3