R语言基础-2.2输入和文件读入

1.scan输入

rm(list = ls())
#使用scan方式读入2x4矩阵
x <- matrix(scan(),2,4)
#取其(1,3,4)列
x[,c(1,3,4)]

运行结果:

先运行到scan(),然后再console输入8个数(输入少于8个会自动填充至8个,多于8位会报错),再执行后面的代码

2.文件读取

#读入一个csv文件,输出
y <-read.csv(file="data.csv", header = F, sep = ",") #read读入后得到的y是frame数据类型
y

运行结果:

3.对读取文件操作

通过read读取的csv文件,数据格式是frame,可通过apply函数操作各列各行

apply(X, MARGIN, FUN, ...)

X: 是一个数组(array)

MARGIN:表示对行(1)或者是对列(2)应用函数

FUN: 可是R自带函数,如mean,sum等。也可以是自己编写的函数

求每一列的平均数

好的,我可以为你编写一个函数input_poly(ptr1),用C语言文件cp7_in.txt中读入两个带系数指数的多项式。具体实现如下: ```c #include <stdio.h> #include <stdlib.h> #define MAX_TERMS 100 typedef struct { float coef; int expon; } polynomial; void input_poly(polynomial *ptr1) { FILE *fp; int n1, n2, i, j; if ((fp = fopen("cp7_in.txt", "r")) == NULL) { printf("File can't be opened.\n"); exit(1); } fscanf(fp, "%d", &n1); ptr1 = (polynomial *) malloc(n1 * sizeof(polynomial)); for (i = 0; i < n1; i++) { fscanf(fp, "%f %d", &ptr1[i].coef, &ptr1[i].expon); } fscanf(fp, "%d", &n2); polynomial *ptr2 = (polynomial *) malloc(n2 * sizeof(polynomial)); for (i = 0; i < n2; i++) { fscanf(fp, "%f %d", &ptr2[i].coef, &ptr2[i].expon); } fclose(fp); // 输出读入的多项式 printf("Polynomial 1:\n"); for (i = 0; i < n1; i++) { printf("%.1fx^%d", ptr1[i].coef, ptr1[i].expon); if (i != n1 - 1) { printf(" + "); } } printf("\n"); printf("Polynomial 2:\n"); for (i = 0; i < n2; i++) { printf("%.1fx^%d", ptr2[i].coef, ptr2[i].expon); if (i != n2 - 1) { printf(" + "); } } printf("\n"); // 释放多项式所占用的内存 free(ptr1); free(ptr2); } ``` 这个函数首先打开文件cp7_in.txt,并从中读取两个多项式。它使用结构体数组来存储每个多项式的系数指数,并使用指针来动态分配内存。在读取完多项式后,函数输出读入的两个多项式,并使用free()函数释放内存。 你可以在自己的程序中调用input_poly(ptr1)函数来读取多项式。注意,ptr1是一个指向多项式的指针,可以在函数中使用它来动态分配内存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值