R中是否有一种方法可以通过用户输入来更新数据帧的特定单元格?

免责声明:保存一两个奇怪的脚本,我对R / coding还是很陌生,这是我在这里的第一篇文章,所以请保持谦虚。我对事情可能会变得很模糊表示歉意,我只是暂时没有编码词汇来最好地描述我正在尝试做的事情。

无论如何:

我有一个数据框,其中b列描述了罐中剩余的Cookie数量x,列a包含了所有罐子的名称y ,从中获取Cookie。

由于从许多不同罐中取出的Cookie的数量和频率很高,因此该数据框需要例行更新。

到目前为止,我有一个脚本,它将从罐子和cookie的主列表中提取并编写一个csv,该csv仅包含订单所需的罐子以及每个罐子中剩余多少cookie。

我想为订单中的每个Jar添加一些readline(prompt),向用户询问类似“从Jar z中提取的Cookie数量:”,然后在主服务器中更新该确切的单元格提供的用户输入的jar和cookie列表。

除了如何告诉R在用户提示中包含z之外,我知道如何做我在这里提到的所有事情。

因此,换句话说,如果我有一个订购单,有人从罐5、11和31中请求饼干,我如何告诉R提示:

'从JAR 5中获取的Cookie数量:'
等待输入
'从JAR 11提取的Cookie数量:'
等待输入
'从JAR 31提取的Cookie数量:'
等待输入

ylzg_2000 回答:R中是否有一种方法可以通过用户输入来更新数据帧的特定单元格?

这是一个使用for循环的示例。

1)我们可以定义一个虚拟数据帧:

df <- data.frame(Jars = LETTERS[1:5],Cookie = sample(1:50,5))

因此您的数据框如下所示:

> df
  Jars Cookie
1    A      9
2    B     17
3    C     23
4    D     34
5    E     19

2)然后,用于遍历Jars并请求每个输入并从Cookie列中减去它的代码(您甚至可以按顺序打印每个jar中的当前cookie数量)为了避免产生负面结果;)):

for(i in 1:nrow(df))
{
  x <- as.numeric(readline(paste0("How many in Jar ",df$Jars[i]," (current number:",df$Cookie[i],") : ")))
  df[i,"Cookie"] <- df[i,"Cookie"] - x
}

3)现在开始运作:

> for(i in 1:nrow(df))
+   {
+     x <- as.numeric(readline(paste0("How many in Jar ",") : ")))
+     df[i,"Cookie"] - x
+   }
How many in Jar A (current number:9) :  0
How many in Jar B (current number:17) : 2
How many in Jar C (current number:23) : 1
How many in Jar D (current number:34) : 3
How many in Jar E (current number:19) : 0

4)现在,您的数据框如下所示:

> df
  Jars Cookie
1    A      9
2    B     15
3    C     22
4    D     31
5    E     19

它与您要查找的内容相对应吗?

本文链接:https://www.f2er.com/2960451.html

大家都在问