gpt4 book ai didi

r - 如何从 R 中的用户输入中读取向量并将其用于进一步处理 [R]

转载 作者:行者123 更新时间:2023-12-05 09:23:10 26 4
gpt4 key购买 nike

我想要求用户输入整数值列表。用户可以输入单个值或一组多个值,如 1 2 3(spcae 或逗号分隔)然后使用输入的数据进行进一步计算。

我正在使用下面的代码

EXP <- as.integer(readline("enter the experiment numbers (You can include multiple number of experiments with space seperate) \n"))

这里有或没有整数,无论​​我在 EXP 中存储什么值,我都不能在进一步的编程中使用它们。如下图

gg2 <- subset((aggregate(cbind(var)~En+Mn+hours,a, FUN=mean)),(aggregate(cbind(var)~En+Mn+hours,a, FUN=mean))$En == c(EXP))

上述命令因条件 $En == c(EXP) 而失败,因为通过 readline 输入的值不起作用。

我该怎么做?

2) 上面的问题是关于整数的。在字符作为输入的情况下,相同的解决方案不起作用。就像下面一样

 prompt1 <- "enter the variable_name \n"
var <- as.character((readline(prompt1))[[1]])

在这里,如果我在提示符下输入 Ph,那么 var 将像“Ph”一样存储,这个值我不能在命令行中使用

gg2 <- subset((aggregate(cbind(var)~En+Mn+hours,a, FUN=mean)),(aggregate(cbind(var)~En+Mn+hours,a, FUN=mean))$En == c(EXP))

它会抛出错误,例如,可变长度不同(为“En”找到)但是如果我用 Ph 之类的实际值替换 var,那么它将正常工作。

数据集上传到这里... Dataset 一个 <- 导入的数据集

Consider names(a) = c("Ei","Mi","hours","Nphy","Cphy","CHLphy","Nhet","Chet","Ndet","Cdet","DON","DOC","DIN","DIC","AT","dCCHO","TEPC","Ncocco","Ccocco","CHLcocco","PICcocco","par","Temp","Sal","co2atm","u10","dicfl","co2ppm","co2mol","pH")

我在做这个

v1 <- quote(var1 <- as.numeric(readline('Enter a number from 1 to 15: ')))
eval(v1)
v2 <- quote(var2 <- as.numeric(readline('Enter a number from 1 to 15: ')))
eval(v2)


variable1 <- as.name(names(a[var1]))
variable2 <- as.name(names(a[var2]))
gg4 <- subset((aggregate(cbind(variable1,variable2)~Ei+Mi+hours,a, FUN=mean)))

读取用户输入,然后在命令中使用用户输入来聚合所需的数据。上面的命令使用了 variable1 和 variable2,因此它不起作用并抛出错误。如果我用 Nphy、Cphy 等实际列名替换 variable1 和 variable2,那么一切正常。

like this gg4 <- subset((aggregate(cbind(Nphy,Cphy)~Ei+Mi+hours,a, FUN=mean)))

所以我只想知道我们如何让用户输入在命令行中起作用?

最佳答案

第一部分应该是:

prompt <- "enter the experiment numbers (space-separated list) \n"
EXP <- as.integer(strsplit(readline(prompt), " ")[[1]])

第二部分比较晦涩(你能解释一下你的数据是什么样子的以及你想做什么吗?)但也许你正在寻找这样的东西:

sub.a <- subset(a, En %in% EXP)
aggregate(var~En+Mn+hours, sub.a, FUN=mean)

我没有看到与 ggplot2 的链接。如果没有,请删除任何提及。

关于r - 如何从 R 中的用户输入中读取向量并将其用于进一步处理 [R],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23974433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com