小编Kar*_*hik的帖子

R - 将R输出的元素捕获到文本文件中

我试图通过命令行调用R运行分析,如下所示:

R --no-save < SampleProgram.R > SampleProgram.opt
Run Code Online (Sandbox Code Playgroud)

例如,考虑下面的简单R程序:

mydata = read.csv("test.txt", header=T)
attach(mydata)
summary(Variable1)
q()
Run Code Online (Sandbox Code Playgroud)

输出显示在SampleProgram.opt中(仅部分显示):

> mydata = read.csv("test.txt", header=T)
> attach(mydata)
> summary(Variable1)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   1.00    1.00    2.00    2.47    3.00    4.00
> q()
Run Code Online (Sandbox Code Playgroud)

这个简单的R程序将由需要使用为Variable1显示的摘要统计信息的脚本执行.

问题是:R中是否有任何方法可以捕获摘要(Variable1)的输出并将结果写入输出文件?换句话说,我需要R来运行Variable1的摘要统计信息,捕获"Min","Median"和"Max"值,并将它们单独写入输出文本文件.在此示例中,输出文件应仅包含一行,其值为"1.00,2.00,4.00"(即"最小","中值"和"最大"值).

上面的例子讨论了汇总函数.但是,我也需要使用其他命令(例如glm)

我是R的新手,想知道R中是否有办法可以做到这一点?

谢谢您的帮助.

command-line r

21
推荐指数
4
解决办法
5万
查看次数

SAS:限制PROC EXPORT中的变量

我有一个PROC EXPORT问题,我想知道你是否可以回答.

我有一个包含800多个变量和超过200K观测值的SAS数据集,我试图将变量的子集导出到CSV文件(即我需要所有记录;我只是不想要所有800多个变量).我总是可以创建一个临时数据集"KEEP"荷兰国际集团只是我需要和运行在该临时数据集的出口领域,但我想,以避免额外的步骤,因为我有大量的记录.

为了证明这一点,请考虑一个包含三个名为x,y和z的变量的数据集.但是,我希望通过PROC EXPORT生成的文本文件只包含x和y.我尝试下面的解决方案并不是很有效.

SAS代码

当我运行以下代码时,我无法得到我需要的内容.如果您运行此代码并查看生成的文本文件,则每行的末尾都有一个逗号,并且标题包含数据集中的所有变量.另外,我在日志中收到一些我不应该收到的消息.

data ds1;
      do x = 1 to 100;
            y = x * x;
            z = x * x * x;
            output;
      end;
run;

proc export data=ds1(keep=x y)
      file='c:\test.csv'
      dbms=csv
      replace;
quit;
Run Code Online (Sandbox Code Playgroud)

以下是生成的文本文件的前几行("C:\ test.csv")

x,y,z
1,1,
2,4,
3,9,
4,16,
Run Code Online (Sandbox Code Playgroud)

SAS日志

9343  proc export data=ds1(keep=x y)
9344      file='c:\test.csv'
9345      dbms=csv
9346      replace;
9347  quit;

9348   /**********************************************************************
9349   *   PRODUCT:   SAS
9350   *   VERSION:   9.2
9351   *   CREATOR:   External File Interface
9352   *   DATE:      30JUL12
9353 …
Run Code Online (Sandbox Code Playgroud)

sas

5
推荐指数
1
解决办法
1万
查看次数

删除表中除标题行之外的所有行

使用 Javascript(使用 JQuery),我想删除表中除标题行之外的所有行。

这似乎是一件简单的事情,因为我在 StackOverFlow 上看到了很多关于此问题的帖子,并且提供并接受了很多解决方案。但是,它们似乎都不适合我。请参考我下面的代码:

function delTable() {
  console.log("Delete all rows, but the header");

  // Option-A
  // $('#TableA tbody tr').remove();

  // Option-B
  // Accepted answer for: https://stackoverflow.com/questions/9420203/how-to-remove-all-rows-of-the-table-but-keep-the-header
  // $('#TableA tr').not(function(){ return !!$(this).has('th').length; }).remove();

  // Option-C
  $('#TableA tbody').empty();

}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>

<body onLoad="delTable();">
  <table id="TableA">
    <th>
      <tr>
        <td>Col A</td>
        <td>Col B</td>
      </tr>
    </th>
    <tbody>
      <tr>
        <td>1</td>
        <td>2</td>
      </tr>
      <tr>
        <td>3</td>
        <td>4</td>
      </tr>
    </tbody>
  </table>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?谢谢。

-卡蒂克

javascript jquery

5
推荐指数
1
解决办法
2465
查看次数

RMarkdown:使用循环在同一块中绘制多个ggplot

我正在尝试使用 RMarkdown 文档中单个块内的 for 循环生成多个绘图(在 ggplot2 中)。

当我对代码进行硬编码以生成两个图时,图将按预期呈现。请参阅我的代码中标题为“硬编码方法”的部分。

但是,当我加载列表中两个图的参数并循环列表时,图没有显示。我也没有看到任何错误。请参阅我的代码中标题为“循环方法”的部分。

谁能告诉我发生了什么事以及如何解决它?谢谢。

  • 卡蒂克。

这是我的代码:

---
title: "Test for multiple plots"
author: "KC"
date: "4/3/2020"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

# Hardcoded Method

Sample Plot - One plot at a time 

```{r Multiple Plots separately listed, echo=TRUE, fig.keep="all"}
library(ggplot2)
library(datasets)

combo = c("temperature", "pressure")
ggplot(pressure, 
       mapping=aes(x=base::get(combo[1]), y=base::get(combo[2]))) + 
  geom_point() + 
  labs(x=combo[1], 
       y=combo[2], 
       title=paste("Hardcoded Method:", paste(combo, collapse=" vs ")))

combo = c("pressure", "temperature")
ggplot(pressure, 
       mapping=aes(x=base::get(combo[1]), y=base::get(combo[2]))) + 
  geom_point() + …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

4
推荐指数
1
解决办法
1527
查看次数

SAS服务器:如何获取客户端机器的机器名称?

我在PC上运行SAS Enterprise Guide以连接到位于我们网络中的服务器上的SAS实例.

我正在编写一个将在服务器上运行的SAS程序,该服务器将使用ODS将HTML文件写入PC中的某个子文件夹.我今天可以使用UNC样式的路径名(例如\\ my_machine_name\C $\documents\results.html)来做到这一点,只要我硬编码客户端机器的名称(即上面示例中的"my_machine_name").这个例子假设我的PC里有一个名为"C:\ documents"的文件夹

SAS服务器上运行的SAS能否识别呼叫客户端计算机(即我的PC)并动态获取其网络名称?如果可以,我可以避免上面提到的我的UNC样式路径名的硬编码.

谢谢.

sas

3
推荐指数
1
解决办法
3102
查看次数

标签 统计

r ×2

sas ×2

command-line ×1

ggplot2 ×1

javascript ×1

jquery ×1