所以我的数据如下:
data1 data2 data3 data4
1 2 3 4
2 3 4 5
3 4 5 6
我想取每行数据的前三列的平均值,并得到这样的乘积:
mean_123 data4
2 4
3 5
4 6
我知道我可能需要一个for循环。 我的数据来自其中包含4列数据的数据框。
我们称之为“ data_frame_1”
答案 0 :(得分:0)
这是一个dplyr
解决方案,它使用rowwise()
来计算行均值。我在这里使用transmute()
是因为您似乎想删除用于生成均值的列。如果要保留它们,请改用mutate()
。我希望这会有所帮助-祝你好运!
代码:
library("dplyr")
mean_df <- rowwise(df) %>%
transmute(mean_123 = mean(c(data1,data2,data3)),
data4 = data4)
输出:
# A tibble: 3 x 2
mean_123 data4
<dbl> <dbl>
1 2 4
2 3 5
3 4 6
答案 1 :(得分:0)
使用base R
,只需使用data.frame(mean_123 = rowMeans(data_frame_1[1:3]), data4 = data_frame_1$data4)
# mean_123 data4
#1 2 4
#2 3 5
#3 4 6