小编Mic*_*ico的帖子

将SAS sas7bdat数据读入R中

R有哪些选项可以将本机SAS格式的文件读sas7bdat入R?

NCES共同核心,例如,含有以这种格式保存的数据文件的广泛库.具体而言,让我们专注于试图在1997-98年从LEA Universe 读取这个文件,其中包含从A到I开始的所有州的实体的教育机构级人口统计数据.

以下是SAS对数据的预览:

sas_preview

将这些数据导入R环境的最简单方法是什么?我没有任何可用的SAS版本,也不愿意支付,所以简单地将其转换为.csv将是一件麻烦事.

r r-faq

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

R中嵌套ifelse语句的替代方法

假设我们有以下数据.行代表一个国家/地区,而columns(in05:in09)表示该国家/地区是否存在于给定年份(2005:2009)中感兴趣的数据库中.

id <- c("a", "b", "c", "d")
in05 <- c(1, 0, 0, 1)
in06 <- c(0, 0, 0, 1)
in07 <- c(1, 1, 0, 1)
in08 <- c(0, 1, 1, 1)
in09 <- c(0, 0, 0, 1)
df <- data.frame(id, in05, in06, in07, in08, in09)
Run Code Online (Sandbox Code Playgroud)

我想创建一个变量firstyear,指示该国家在数据库中出现的第一年.现在我做以下事情:

df$firstyear <- ifelse(df$in05==1,2005,
    ifelse(df$in06==1,2006,
        ifelse(df$in07==1, 2007,
            ifelse(df$in08==1, 2008,
                ifelse(df$in09==1, 2009,
                    0)))))
Run Code Online (Sandbox Code Playgroud)

上面的代码已经不是很好了,我的数据集包含了很多年.是否有替代方法,使用*apply函数,循环或其他东西来创建此firstyear变量?

loops if-statement r nested-loops

26
推荐指数
4
解决办法
6304
查看次数

在r中关闭区分大小写

我遇到区分大小写的问题.我们可以把它关掉吗?

A1 <- c("a", "A", "a", "a", "A", "A", "a")
B1 <- c(rep("a", length(A1)))

A1 == B1
# [1]  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE
Run Code Online (Sandbox Code Playgroud)

应该是全部 TRUE

r case-sensitive

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

/ =运算符在Python中意味着什么?

运算符/=(斜杠等于)在Python中意味着什么?

我知道|=是一个集合运算符.我以前没见过/=.

python syntax

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

在R中打印unicode字符串

我在.csv文件中输入了一个文本字符串,其中包含unicode符号:\U00B5g/dL.在.csv文件以及R数据框中读取:

在此输入图像描述

test=read.csv("test.csv")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

\U00B5会产生微观符号μ.R将其读入数据文件(\U00B5).但是当我打印它显示的字符串时\\U00B5 g/dL.
或者,手动输入代码可以正常工作.

varname <- c("a", "b", "c")
labels <- c("A \U00B5 g/dL", "B \U00B5 g/dL", "C \U00B5 g/dL")
df <- data.frame(varname, labels)
test <- data.frame(varname, labels)
test
#  varname   labels
#  1       a A µ g/dL
#  2       b B µ g/dL
#  3       c C µ g/dL
Run Code Online (Sandbox Code Playgroud)

我想知道如何\在这种情况下摆脱逃生标志并打印出符号.或者,如果有另一种方法在R中打印出符号

非常感谢你的帮助!

unicode r

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

如何在R中查询轴限制?

是否有可能获得R中当前图的轴限制?怎么样?

最好是在标准库中(我不喜欢使用ggplot等,但也欢迎这些解决方案).

plot r

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

最简单的并行复制方法

我喜欢的的parallel包在R和它是多么容易和直观做并行版本apply,sapply等等.

是否有类似的并行功能replicate

parallel-processing r

21
推荐指数
2
解决办法
5409
查看次数

警告消息:行似乎包含嵌入的空值

我试图在csv文件列表中读取.这些csv文件有";" 作为它的分隔符.在读取csv文件失败后,我试图将其中一个csv文件中的内容切割成几个部分,并读入每个部分的值以查看问题的原因.

这个方法对我有用,我找到了一个适用于我的数据的工作代码:

y <- data.table(read.table(filenames[i], header = FALSE, sep = ";",
                comment.char = "", fill = TRUE, check.names = FALSE,
                blank.lines.skip = TRUE))
Run Code Online (Sandbox Code Playgroud)

但我遇到了另一个问题.当我将原始数据复制并粘贴到csv文件中并运行代码时,它工作正常.但是,当我尝试在原始csv文件上运行相同的代码时,它会给我"嵌入空值"警告.

在外部,原始数据和复制的数据看起来完全相同,并且它们都以csv格式保存.因此,我很难找到导致警告的原因以及我原来的csv文件和复制的csv文件之间的区别.

数据类似于以下内容:

Measurement Reports export file;
;
Comment;Time ;E_MW;E_PF;INV11_ACKW;INV12_ACKW;INV21_ACKW;INV22_ACKW;INV31_ACKW;INV32_ACKW;INV41_ACKW;INV42_ACKW;INV51_ACKW;INV52_ACKW;INV61_ACKW;INV62_ACKW;M1_ATEMP;M1_HUMID;M1_PYRA1S;M1_PYRA2S;M1_PYRA3S;M1_WDIREC;M1_WSPEED;
;
;00:00;-0.02  ;-0.36  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;22.32  ;82.32  ;0.00  ;0.00  ;0.00  ;234.83  ;0.00  ;
;00:01;-0.02  ;-0.36  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;0.00  ;22.26  ;82.57  ;0.00  ;0.00  ;0.00  ;214.93  ;0.00  ;
; …
Run Code Online (Sandbox Code Playgroud)

warnings r

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

什么是相当于RStudio的Knit HTML的简洁命令行?

什么是相当于RStudio的Knit HTML的简洁命令行?给定一个.Rmd文件,您可以使用RStudio来编织.html,.docx.pdf使用Knitr编辑文件.将此过程完全转移到命令行会很棒.到目前为止我的方法:

Rscript -e "library(knitr); knit('test.Rmd')"  # This creates test.md
pandoc test.md >> test.html
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但结果test.html并没有像在RStudio中那样漂亮.任何建议如何通过命令行最好地编织.Rmd文件.html,并最终得到漂亮.html

额外的问题:什么是最好的命令行的解决方案.pdf.docx

r rstudio knitr r-markdown

21
推荐指数
3
解决办法
6928
查看次数

为什么`as`方法删除了矢量名称,有没有办法解决它?

基本上,我试图在我的分析中保留一个名为dates特殊Dates 的向量,比如新年2016和2015年7月4日.我希望能够从名称而不是索引中提取稳健性,例如,dates["nyd"]获得新年,并dates["ind"]获得7月4日.

我觉得这很简单:

dates <- as.Date(c(ind = "2015-07-04", nyd = "2016-01-01"))
Run Code Online (Sandbox Code Playgroud)

as.Date剥夺了名字:

dates
# [1] "2015-07-04" "2016-01-01"
Run Code Online (Sandbox Code Playgroud)

它不像Date矢量不能被命名(这将是奇怪的,因为它们基本上是特定解释integer的):

setNames(dates, c("ind", "nyd"))
#          ind          nyd 
# "2015-07-04" "2016-01-01" 
Run Code Online (Sandbox Code Playgroud)

不幸的是,没有办法Date直接声明一个向量(据我所知?),尤其是在不知道日期的基础整数值的情况下.

探索这一点,似乎这是as*函数类的标准实践:

as.integer(c(a = "123", b = "436"))
# [1] 123 436

as(c(a = 1, b = 2), "character")
# [1] "1" "2"
Run Code Online (Sandbox Code Playgroud)

有这样的原因吗?在?as我看过的任何其他帮助页面中都没有提到名称丢失.

更一般地说,有没有办法(使用除了之外的东西as*)来确保对象的名称不会在转换中丢失?

当然,一种方法是编写自定义函数,as.Date.named或者创建一个as.named带有相关方法的自定义类,但是如果没有这样的东西已经到位,那将会让我感到惊讶,因为看起来这应该是一个非常常见的操作.

如果重要,我在3.2.2.

r type-conversion

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