【发布时间】:2020-01-10 18:51:12
【问题描述】:
我有 3 个变量(A、B 和 C),每个变量包含 10 个值(每行 1 个值),我想为每个变量创建一个范围(输出)或三列。基本上给定 A、B 和 C 的 10 个值,我想自动化一个输出,为我提供 R 中每个变量的最小值、平均值和最大值。我正在考虑使用一个函数,我的输入是三个变量.
我使用了 excel,但一旦获得更多数据,我将无法输出这些值。我使用条件语句并手动输入值 - 我想创建三个新列,对应于每个变量的每个范围(Min、Avg 和 Max)。
#Create a DataFrame
## Random Matrix - Three Variables - 50 rows ##
trial <- matrix(sample(100, replace = TRUE), ncol=3)
colnames(trial) <- c('MFP', 'ECU', 'HMU')
trial.table <- as.table(trial)
trial <- as.data.frame(trial)
## Creating Min, Average, and Max range for each Column ##
# setting blank vector to fill #
# Create new double vector: output
df2 <- data.frame(matrix("", ncol = 3, nrow = 1))
colnames(df2) <- c('Min_thresh', 'Average', 'Max')
# Alter the loop
for (i in trial$MFP) {
# Change code to store result in output
df2$Min_thresh <- min(trial$MFP)
df2$Max <- max(trial$MFP)
df2$Average <- mean(trial$MFP)
}
# Print output
df2
预期输出将是添加到空白 df 的三列,其中显示从每列中提取的最小值、平均值和最大值:
df3 <- data.frame(matrix("", ncol = 3, nrow = 1))
df3$min <- min#
df3$average <- avg#
df3$max <- max #
然后,我将根据 Min、min 到 avg 的范围,然后是 Max 值来填充每一列...其中 Avg 是 Avg 和 min 之间的差值(例如,10 是 Min,16 是 Avg 的范围.).
【问题讨论】:
-
这和 R 有什么关系?
-
显示你的预期输出?
-
可能先创建函数,当出现错误时再提问。
-
我包括了 R 以防万一它在那里更容易做到。我会更新输出。
-
我在 R 中编辑了评论/问题,使其更加清晰(不再使用 Python)