楼主: laskiwallace
2771 3

[问答] 如果利用spss循环读入文件? [推广有奖]

  • 0关注
  • 0粉丝

准贵宾(周)

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0.0016
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
149 点
帖子
14
精华
0
在线时间
7 小时
注册时间
2010-6-17
最后登录
2013-9-14

楼主
laskiwallace 发表于 2012-2-13 12:05:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
例如,有很多个案文件:
D:\data_1.sav
D:\data_2.sav
.
.
.
D:\data_99.sav

我想编写spss脚本,循环导入数据集。我尝试编写程序如下:
LOOP #I = 1 to 99
   ADD FILES/ FILE=*
          /FILE='D:\data_'  + #I  + '.sav'.
   EXECUTE.
   SAVE OUTFILE='D:\RESULT.sav'
         /compressed
END LOOP.

但是不行,请高手指点如何才能编写SPSS脚本,实现循环导入数据集?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:SPSS PSS compress pressed EXECUTE 编写程序 如何

回帖推荐

matlab-007 发表于4楼  查看完整内容

MATLAB可以实现利用load循环读入数据文件 Contents 1.load循环读入.mat 2.1.fprintf写出数据txt 2.2.load循环读入txt % 利用load循环读取文件 % 把文件的文件名按一定的规律命名,假如:f001.mat,f002.mat,... % 在读取的时候则可以使用循环 1.load循环读入.mat % f001.mat, f002.mat, f003.mat三个数据文件,其变量名称均为a(1x3的矩阵) a = [0 0 1]; save f001; a = [0 0 2]; save f002; a = [0 0 3]; sa ...

本帖被以下文库推荐

沙发
laskiwallace 发表于 2012-2-24 18:13:57
有没有高手帮忙指导一下呀?

藤椅
laskiwallace 发表于 2012-3-9 16:39:08
自己提出的问题,最后自己解决吧。

我最后的解决办法是,换了分析软件,换用SAS了。
SAS的编程功能非常强大,很容易就实现了循环读入文件的编程。

所以,我最后换用了SAS软件进行分析。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
regus + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
matlab-007 发表于 2015-12-7 10:16:12
MATLAB可以实现利用load循环读入数据文件
Contents
1.load循环读入.mat
2.1.fprintf写出数据txt
2.2.load循环读入txt

% 利用load循环读取文件
% 把文件的文件名按一定的规律命名,假如:f001.mat,f002.mat,...
% 在读取的时候则可以使用循环

1.load循环读入.mat
% f001.mat, f002.mat, f003.mat三个数据文件,其变量名称均为a(1x3的矩阵)
a = [0 0 1];
save f001;
a = [0 0 2];
save f002;
a = [0 0 3];
save f003;

clear;

x = zeros(3);   %将三个文件的数据读到 x 中
for i = 1:3
    FileName = ['f00' num2str(i)];
    load (FileName);
    x(i, :) = a;    %a是load进入的变量名
end
disp('x = ');
disp(x);

x =
     0     0     1
     0     0     2
     0     0     3

2.1.fprintf写出数据txt
a1 = 1:10;
a2 = 11:20;
fid1 = fopen('t001.txt','wt');   %若是在txt中,需在w后面加上t,由w变为wt,\n才能识别
for i=1:10
    fprintf(fid1,'%g \n',a1(i));
end
fclose(fid1);
fid2 = fopen('t002.txt','wt');   %若是在txt中,需在w后面加上t,由w变为wt,\n才能识别
for i=1:10
    fprintf(fid2,'%g \n',a2(i));
end
fclose(fid2);

2.2.load循环读入.txt
y = zeros(10,2);
for i = 1:2
    FileName = ['t00' num2str(i) '.txt'];
    a = load (FileName);
    y(:, i) = a;
end
disp('y = ');
disp(y);

y =
     1    11
     2    12
     3    13
     4    14
     5    15
     6    16
     7    17
     8    18
     9    19
    10    20
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 02:57