Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从R中的for循环写入数据帧

从R中的for循环写入数据帧
EN

Stack Overflow用户
提问于 2010-04-01 21:30:45
回答 4查看 68.1K关注 0票数 17

我正在尝试从循环写入R中的数据帧,例如像this>这样的循环

代码语言:javascript
运行
AI代码解释
复制
for (i in 1:20) {
print(c(i+i,i*i,i/1))}

并将每行3个值写入具有三列的数据帧,以便每次迭代都采用新的行。我尝试过使用矩阵、ncol=3和按行填充,但只从循环中获得了最后一项。

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2010-04-01 22:14:55

您可以使用rbind:

代码语言:javascript
运行
AI代码解释
复制
d <- data.frame()
for (i in 1:20) {d <- rbind(d,c(i+i, i*i, i/1))}
票数 24
EN

Stack Overflow用户

发布于 2012-06-29 09:31:21

另一种方法是

代码语言:javascript
运行
AI代码解释
复制
do.call("rbind", sapply(1:20, FUN = function(i) c(i+i,i*i,i/1), simplify = FALSE))


     [,1] [,2] [,3]
 [1,]    2    1    1
 [2,]    4    4    2
 [3,]    6    9    3
 [4,]    8   16    4
 [5,]   10   25    5
 [6,]   12   36    6

如果不指定simplify = FALSE,则必须使用t转置结果。对于大型结构,这可能会很繁琐。

如果您有一个较大的数据集,并且/或者您需要多次重复此操作,则此解决方案尤其方便。

我在这个“线程”中提供了一些解决方案的时间。

代码语言:javascript
运行
AI代码解释
复制
> system.time(do.call("rbind", sapply(1:20000, FUN = function(i) c(i+i,i*i,i/1), simplify = FALSE)))
   user  system elapsed 
   0.05    0.00    0.05 

> system.time(ldply(1:20000, function(i)c(i+i, i*i, i/1)))
   user  system elapsed 
   0.14    0.00    0.14 

> system.time({d <- matrix(nrow=20000, ncol=3) 
+ for (i in 1:20000) { d[i,] <- c(i+i, i*i, i/1)}})
   user  system elapsed 
   0.10    0.00    0.09 

> system.time(ldply(1:20000, function(i)c(i+i, i*i, i/1)))
   user  system elapsed 
  62.88    0.00   62.99 
票数 10
EN

Stack Overflow用户

发布于 2010-04-01 22:17:33

For循环有副作用,因此通常的做法是在循环之前创建一个空的dataframe,然后在每次迭代时添加到其中。您可以将其实例化为正确的大小,然后在每次迭代中将您的值分配给第i行,或者添加到它并使用rbind()重新分配整个内容。

前一种方法对于大型数据集将具有更好的性能。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2563824

复制
相关文章
R中的循环绘图
上面我们将每一张图都单独输出了,下面来介绍如何将其全部组合起来,分别介绍两种R包的方法gridExtra&patchwork
R语言数据分析指南
2022/09/21
4.2K0
R中的循环绘图
视频中的 I 帧,P 帧,B 帧
视频传输原理 视频是由一幅幅帧图像和一组音频构成的,视频的播放过程可以简单理解为一帧帧的画面按照时间顺序呈现出来的过程。但是在实际应用中,并不是每一帧都是完整的画面,因为如果每一帧画面都是完整的图片,那么一个视频的体积就会很大。这样对于网络传输或者视频数据存储来说成本太高,所以通常会对视频流中的一部分画面进行压缩(编码)处理。 编码器将多张图像进行编码后生产成一段一段的 GOP ( Group of Pictures ) 如下图, 解码器在播放时则是读取一段一段的 GOP 进行解码后读取画面再渲染显示。GO
用户1097444
2022/06/29
3.8K0
视频中的 I 帧,P 帧,B 帧
高级性能测试系列《26. 从mysql中查询出数据写入sqlite中,再从sqlite中查询出数据写入txt文件中。》
jdbc conection configuration:连接池、URL、driverclass、 user、password。
清菡
2022/12/02
4.1K0
高级性能测试系列《26. 从mysql中查询出数据写入sqlite中,再从sqlite中查询出数据写入txt文件中。》
Python小案例(十)利用PySpark循环写入数据
在做数据分析的时候,往往需要回溯历史数据。但有时候构建历史数据时需要变更参数重复跑数,公司的数仓调度系统往往只支持日期这一个参数,而且为临时数据生产调度脚本显得有点浪费。这个时候就可以结合python的字符串格式化和PySpark的Hive写入,就可以完成循环写入临时数据。
HsuHeinrich
2023/02/24
1.5K0
Python小案例(十)利用PySpark循环写入数据
Silverlight中的帧
Silverlight是基于时间线的,不象Flash是基于帧的,所以在Silverlight中,很少看到有文档专门介绍SL中的帧。 但是我们从动画原理知道,动画只不过是一幅幅静态图片连续播放,利用人眼的视觉暂留形成的,因此任何动画从原理上讲,至少还是有每秒播放多少帧这个概念的。 Silverlight的sdk文档中,有一段话: ... maxFramerate 值可通过 Silverlight 插件对象的 maxframerate 参数进行配置。maxframerate 参数的默认值为 60。current
菩提树下的杨过
2018/01/23
1K0
R语言for循环①
for循环是一种重复控制结构,可以让您有效地编写一个需要执行特定次数的循环。 for (value in vector) { statements } 示例: j <- LETTERS[1:4] for ( i in j) { print(i) } 它产生如下结果: [1] "A" [1] "B" [1] "C" [1] "D" 下标访问 > a <- c("a","b","c","d") > for (i in c(1:length(a))) + {print(i)} [1] 1 [1] 2
用户1359560
2018/08/27
1.4K0
R语言:循环
这里介绍五种R语言的循环语法,分别是: for if repeat which while for samples<- c(rep(1:10)) samples ## [1] 1 2 3 4 5 6 7 8 9 10 for(thissample in samples){ print(thissample) } ## [1] 1 ## [1] 2 ## [1] 3 ## [1] 4 ## [1] 5 ## [1] 6 ## [1] 7 ## [1] 8 ## [1] 9 ## [
努力在北京混出人样
2019/02/18
1.1K0
scanf从文件中读入,printf写入到文件
重定向方式读写文件 #include <stdio.h> #define LOCAL int main() { #ifdef LOCAL freopen("input.txt","r",stdin); //使得scanf从文件input.txt读入 //r只读,如果文件不存在,出错 freopen("output.txt","w",stdout); //使得printf写入文件output.txt //w只写,如果文件不存在,建立新文件 #en
谙忆
2021/01/19
7850
python 将读取的数据写入txt文件_c中怎样将数据写入txt文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
6.8K0
[WIS22] 从 R 中调用 Wolfram 语言
本文译自 Wolfram 2022 印度冬令营文章系列之一:https://community.wolfram.com/groups/-/m/t/2446943
WolframChina
2022/03/29
9280
[WIS22] 从 R 中调用 Wolfram 语言
数据帧的学习整理
事先声明,本文档所有内容均在本人的学习和理解上整理,不具有权威性,甚至不具有准确性,本人也会在以后的学习中对不合理之处进行修改。
全栈程序员站长
2022/09/20
3K0
数据帧的学习整理
CAN通信的数据帧和远程帧「建议收藏」
(先来一波操作,再放概念) 远程帧和数据帧非常相似,不同之处在于: (1)RTR位,数据帧为0,远程帧为1; (2)远程帧由6个场组成:帧起始,仲裁场,控制场,CRC场,应答场,帧结束,比数据帧少了数据场。 (3)远程帧发送特定的CAN ID,然后对应的ID的CAN节点收到远程帧之后,自动返回一个数据帧。
全栈程序员站长
2022/07/23
6.9K0
CAN通信的数据帧和远程帧「建议收藏」
python-elasticsearch从创建索引到写入数据
创建索引 from elasticsearch import Elasticsearch es = Elasticsearch('192.168.1.1:9200')
双面人
2019/04/10
2.4K0
MPEG4视频中,I帧、p帧、B帧的判定(转载) By HKL,
mpeg4的每一帧开头是固定的:00 00 01 b6,那么我们如何判断当前帧属于什么帧呢?在接下来的2bit,将会告诉我们答案。注意:是2bit,不是byte,下面是各类型帧与2bit的对应关系:
hiplon
2020/07/22
1.4K0
FFmpeg中的子帧延迟
本文来自IBC 2019(International Broadcasting Convention)中的演讲,主要内容是FFmepg编码的子帧延时。演讲内容来自EBU(European Broadcasting Union)的Kieran Kunhya。
用户1324186
2019/10/27
2K0
R语言中的循环补齐
--- title: "循环补齐" output: html_document date: "2023-03-08" --- 当我们对两个长度不一致的向量进行操作时,会发生什么呢? x = c(1,3,5,6,2) y = c(3,2,5) x == y ## [1] FALSE FALSE TRUE FALSE TRUE 虽然出现了提示Warning: longer object length is not a multiple of shorter object length,并没有发生报错。 从输
小叮当aka
2023/03/17
1.6K0
R语言 循环作图
setwd("C:\\Users\\Administrator\\Desktop\\pic") # Plot separate ggplot figures in a loop. library(ggplot2) # Make list of variable names to loop over. var_list = combn(names(iris)[1:3], 2, simplify=FALSE) # Make plots. plot_list = list() for (i in
用户1359560
2018/09/29
2K0
从对象写入XML输出
InterSystems IRIS提供了用于为InterSystems IRIS对象生成XML输出的工具。可以指定XML投影的详细信息,如将对象投影到XML中所述。然后创建一个Writer方法,该方法指定XML输出的整体结构:字符编码、对象的显示顺序、是否包括处理指令等。
用户7741497
2022/07/04
9860
分析R中的Elasticsearch数据
您可以在任何可以安装R和Java的计算机上使用纯R脚本和标准SQL访问Elasticsearch数据。您可以使用适用于Elasticsearch的CData JDBC驱动程序和RJDBC软件包来处理R中的远程Elasticsearch数据。通过使用CData驱动程序,您可以利用为经过行业验证的标准编写的驱动程序来访问流行的开源数据R语言。本文介绍如何使用驱动程序对Elasticsearch执行SQL查询,并通过调用标准R函数可视化Elasticsearch数据。
用户3382876
2018/11/05
2.9K0
r语言的for循环_两效十MVR强制循环
上述例子中直接将结果进行print,在实际应用中基本不会这么做。一般会将输出结果以向量或其他形式储存。如下:
全栈程序员站长
2022/11/17
3.8K1
r语言的for循环_两效十MVR强制循环

相似问题

从R中的for循环写入数据帧

40

R从内循环写入数据帧

12

for循环在r中写入多个数据帧

11

用for循环将数据帧写入R中的dta文件

13

从R中的for循环创建数据帧

210
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档