小编Bur*_*Leo的帖子

如何从data.frame中删除行而不会丢失属性

对于初学者:我现在在这个问题上搜索了几个小时 - 所以如果答案应该是微不足道的,请原谅我......

我想要做的是从data.frame中删除一行(编号101).它包含测试数据,不应出现在我的分析中.我的问题是:每当我从data.frame中进行子集化时,属性(特别是注释)都会丢失.

str(x)
# x has comments for each variable
x <- x[1:100,]
str(x)
# now x has lost all comments
Run Code Online (Sandbox Code Playgroud)

有充分证据表明,子集将丢弃所有属性 - 到目前为止,它非常清楚.手册(例如http://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.data.frame.html)甚至建议了一种保留属性的方法:

## keeping special attributes: use a class with a
## "as.data.frame" and "[" method:


as.data.frame.avector <- as.data.frame.vector

`[.avector` <- function(x,i,...) {
  r <- NextMethod("[")
  mostattributes(r) <- attributes(x)
  r
}

d <- data.frame(i= 0:7, f= gl(2,4),
                u= structure(11:18, unit = "kg", class="avector"))
str(d[2:4, -1]) # 'u' keeps its "unit"
Run Code Online (Sandbox Code Playgroud)

到目前为止,我还不知道究竟发生了什么.但是,只需运行这些行(除了最后三行)不会改变我的子集的行为.使用带有适当向量的命令subset()(100次TRUE + 1 FALSE)给出了相同的结果.简单地将属性存储到变量并在子集之后恢复它也不起作用. …

statistics r

19
推荐指数
2
解决办法
3879
查看次数

如何创建堆叠线图

有多种解决方案可以在R中创建堆叠条形图,但如何绘制堆叠线图?

在此输入图像描述

diagram charts r

13
推荐指数
2
解决办法
2万
查看次数

两个相关系数差异的显着性检验

如何测试两个相关系数是否显着不同 - 在GNU R中?

也就是说,如果相同变量(例如,年龄和收入)之间的影响在两个不同的群体(子样本)中不同.

有关背景信息,请参阅如何比较不同组中相同变量的相关系数,以及对Spearman相关系数差异的显着性检验(均为CrossValidated).

statistics r correlation

7
推荐指数
1
解决办法
6277
查看次数

远程服务器更新后,Duplicati无法在Debian上备份到SSH(算法协商失败)

此问题可能与其他Duplicati用户有关:

Duplicati配置为在Debian网络服务器上通过SSH进行备份.更新此Web服务器后,备份失败,并显示错误消息"算法协商失败".

仍然可以使用相同的凭据通过FileZilla进行SFTP.

ssh backup debian duplicati

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

Internet Explorer (IE11) 忽略 CSS 内嵌:避免

在两列框 ( column-count: 2) 中,CSS 设置break-inside: avoid应避免某些内容从一列中断到另一列。这适用于 Firefox 和 Chrome(使用适当的 -webkit... 名称),但不适用于 Internet Explorer。

这是一个例子:https : //jsfiddle.net/6s7843ue/1/

只是为了确保它不是内容中的 flexbox:https ://jsfiddle.net/6s7843ue/4/

我没有找到 IE 不支持的任何信息break-inside,恰恰相反:https : //msdn.microsoft.com/de-de/library/hh772193%28v=vs.85%29.aspx

我究竟做错了什么?谢谢!

示例代码

(另见上面的jsFiddle)

HTML

<div class="outer" style="margin: 40px auto; width: 500px; border: 1px solid #0000FF">
    <div class="container">
      This is a rather long text to break into three separate lines, but sometimes won't stay in one column
    </div>    
    <div class="container">
      Should be in next column
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS …

html css internet-explorer internet-explorer-11

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

RStudio(或 R)中是否有像 SPSS 中那样的变量列表?

RStudio 提供了一个很好的函数View(使用大写V)来查看数据,但是使用 R 在大型数据集中获取方向仍然很困难。最常见的选项是...

  • names(df)
  • str(df)

如果您来自 SPSS,那么 R 在这方面似乎是降级的。我想知道是否有更方便用户的选择?我没有找到现成的解决方案,所以我想与您分享我的解决方案。

r spss rstudio

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

如何使用PHP的imap_fetchstructure()删除错误消息?

PHP提供了非常有用的功能,可以从POP3帐户中获取电子邮件,在我的情况下,可以处理退回邮件.然而,函数imap_fetchstructure()让我很头疼.在一个脚本中使用它时,我(对于某些邮件)获取消息:

注意:未知:警告:第0行的Unknown中的非MIME消息(errflg = 3)中遇到MIME标头

向PHP报告的Bug被设置为状态Bugus(http://bugs.php.net/bug.php?id=43471),但是我没有在文档中找到关于此问题的线索.

既不在函数之前放置@也不在函数之前更改错误处理程序(并在之后重置它)有帮助.关闭错误报告或永久更改错误处理程序或错误报告级别帮助(似乎错误是在脚本和脚本处触发) - 但是,我需要注册使用此功能后可能发生的其他错误.

因此,我在Stackoverflow上搜索一下提示:该功能到底是什么(我猜错误的MIME标题或内容)以及如何摆脱此错误通知?

php email mime imap

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

将R data.frame导出到SPSS

有一个foreign具有write.foreign()可以写入SPS和CSV文件的功能的程序包。这样,SPS文件就可以将CSV文件读入包含标签的SPSS中。到目前为止,还可以,但是该功能存在一些问题:

  1. 较新的SPSS版本可能显示错误,说明您的格式定义太少 DATA LIST
  2. 如果存在通过储存的数字变量的“标签” attr(),则这些标签将丢失。
  3. 即使SPSS vesion支持的字符串最多为32767,write.foreign()如果任何变量中的数目超过255 ,该函数也会停止。
  4. 如果使用了任何字符变量,则带有星号(*),但是较新的SPSS版本无法处理。
  5. CSV文件以逗号分隔,并且(不能)使用引号,因此字符串(字符)中不允许使用逗号
  6. 非ASCII字符(例如变音符)将使导入崩溃
  7. 如果您的字符包含任何NA值,就会看到...

...这样的错误消息:

Error in if (any(lengths > 255L)) stop("Cannot handle character variables longer than 255") : 
    missing value where TRUE/FALSE needed
Run Code Online (Sandbox Code Playgroud)

我花了很多时间,然后找到了一个不错的帖子(http://r.789695.n4.nabble.com/SPSS-export-in-R-package-foreign-td921491.html),可以开始制作更好。这是我的结果,我想与您分享。

csv export r spss

3
推荐指数
2
解决办法
6021
查看次数

为什么我不能测试which.max()对0

我试图比较which.max与0的结果,以检查数据中是否找到任何最大值.解释:我必须检查大约24.000个向量的最大索引.

这是一个小例子:

tmp <- which.max(c(NA, NA, NA, NA))
str(tmp)
tmp == 0
as.integer(tmp) == 0
as.numeric(tmp) == 0
Run Code Online (Sandbox Code Playgroud)

它导致FALSE,FALSE和FALSE - 尽管str(tmp)返回int(0).

我做的解决方法是:

tmp <- which.max(c(NA, NA, NA, NA))
isTRUE(as.logical(tmp))
Run Code Online (Sandbox Code Playgroud)

如果which.max()找到了最大值,则可以在不同的情况下工作.但是我不明白为什么上述比较不起作用.

额外的问题:是否有另一个函数比str()更容易向我展示tmp对象的结构,以便立即理解比较失败?

谢谢!

r

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