小编344*_*442的帖子

将列添加到R中的空数据框

我已经广泛搜索但没有在Stack Overflow上找到这个问题的答案.

假设我有一个数据框a.

我定义:

a <- NULL
a <- as.data.frame(a)
Run Code Online (Sandbox Code Playgroud)

如果我想为此数据框添加一列,如下所示:

a$col1 <- c(1,2,3)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error in `$<-.data.frame`(`*tmp*`, "a", value = c(1, 2, 3)) : 
    replacement has 3 rows, data has 0
Run Code Online (Sandbox Code Playgroud)

为什么行维度固定但列不是?

如何更改数据框中的行数?

如果我这样做(首先将数据输入列表然后转换为df),它可以正常工作:

a <- NULL
a$col1 <- c(1,2,3)
a <- as.data.frame(a)
Run Code Online (Sandbox Code Playgroud)

row r list dataframe

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

R:将数据集拆分为四分位数/十分位数.什么是正确的方法?

我是R的新手,所以我希望能得到一些关于如何实现所需数据操作的指针.

我有一个包含三个变量的数据数组.

  gene_id       fpkm  meth_val
1 100629094     0.000 0.0063
2 100628995     0.000 0.0000
3 102655614   111.406 0.0021
Run Code Online (Sandbox Code Playgroud)

在根据fpkm将我的gene_ids分层为四分位数或十分位数之后,我想绘制平均的meth_val.

一旦我将数据加载到数据帧中......

data <- read.delim("myfile.tsv", sep='\t')
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法确定fpkm十分位数:

quantile(data$fpkm, prob = seq(0, 1, length = 11), type = 5
Run Code Online (Sandbox Code Playgroud)

产量

          0%          10%          20%          30%          40%          50%
0.000000e+00 9.783032e-01 7.566164e+00 3.667630e+01 1.379986e+02 3.076280e+02
         60%          70%          80%          90%         100%
5.470552e+02 8.875592e+02 1.486200e+03 2.974264e+03 1.958740e+05
Run Code Online (Sandbox Code Playgroud)

从那里开始,我想基于fpkm_val是否适合这些十分之一,将数据帧基本上分成10组.然后我想在ggplot中绘制每个十分位数的meth_val作为一个箱形图并在十进制中执行统计测试.

我真正坚持的主要问题是如何以正确的方式分割我的数据集.任何帮助将非常感谢!

谢谢你!

plot r dataframe

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

如何在Windows上安装和卸载

我正在运行包括安装和卸载USB设备的测试.

该测试在Linux和Windows上运行.Linux显然不是一个问题,但有没有办法,最好通过Python,在Windows上执行此操作?或者更好的是,是否存在交叉兼容的库,并且每个操作系统都会这样做?

python linux windows mount

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

将文件名作为列值插入数据框中

我有几个txt文件。每个文件都有以逗号分隔的数据列。每个文件都有自己的文件名。

到目前为止,我已使用以下代码将这些文件组合到一个大数据框中:

files = list.files()
data2=lapply(files, read.table, header=FALSE, sep=",")
data_rbind <- do.call("rbind", data2) 
colnames(data_rbind)[c(1,2,3)]<-c("name", "sex", "amount")
Run Code Online (Sandbox Code Playgroud)

返回:

名字性别数量

安娜F 24567

艾玛F 23210

伊莎贝尔F 31212

阿曼达F 22631

我想在数据的每一行旁边添加第4列,以指定数据最初来自的文件的名称。

因此,例如,如果第一个文件“ example1.txt”包含以下内容:

安娜,女,24567

艾玛(Emma),楼23210

Isabelle,F,31212

第二个文件“ example2.txt”包含以下内容:

阿曼达,F,22631

莎拉(F)41355

凯蒂,F,2387

我想得到以下内容:

姓名性别年份

安娜F 24567 example1.txt

艾玛F 23210 example1.txt

阿曼达F 22631 example2.txt

萨拉F 41355 example2.txt

凯蒂F 2387 example2.txt

这可能吗?

r dataframe

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

R将列类从数据框分配(或复制)到另一个

我制作了一个大型数据框(1700 + obs,159个变量),其功能是从网站收集信息.通常,函数会查找某些列的数值,因此它们是数字的.但是,有时它会找到一些文本,并将整个列转换为文本.我有一个df,其列类是正确的,我想将这些类"粘贴"到一个新的,不正确的df.比方说,例如:

dfCorrect<-data.frame(x=c(1,2,3,4),y=as.factor(c("a","b","c","d")),z=c("bar","foo","dat","dot"),stringsAsFactors = F)
str(dfCorrect)
'data.frame':   4 obs. of  3 variables:
 $ x: num  1 2 3 4
 $ y: Factor w/ 4 levels "a","b","c","d": 1 2 3 4
 $ z: chr  "bar" "foo" "dat" "dot"

## now I have my "wrong" data frame:
dfWrong<-as.data.frame(sapply(dfCorrect,paste,sep=""))
str(dfWrong)
'data.frame':   4 obs. of  3 variables:
 $ x: Factor w/ 4 levels "1","2","3","4": 1 2 3 4
 $ y: Factor w/ 4 levels "a","b","c","d": 1 2 3 4
 $ z: Factor w/ …
Run Code Online (Sandbox Code Playgroud)

copy r class dataframe assign

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

在r中串联两个字符串变量

我已经看到了很多关于使用paste和paste0连接r中的两个字符串的讨论。但是,这似乎不适用于两个字符串变量。我有一个数据框架,如下所示。

    series_id   year    period  value   footnote_codes
1   LASBS260000000000003            1983    M01 15.1              
2   LASBS260000000000003            1983    M02 15.0              
3   LASBS260000000000003            1983    M03 14.8              
4   LASBS260000000000003            1983    M04 14.6
Run Code Online (Sandbox Code Playgroud)

我希望将Year变量与Period变量组合在一起,以在数据框中生成一个称为观测的新变量。该数据帧称为数据,我根据对类似查询的研究尝试了以下粘贴命令。

data$obs<-paste0(toString(data$year),toString(data$period))
data$obs<-paste(toString(data$year),toString(data$period),sep="")
Run Code Online (Sandbox Code Playgroud)

这并没有给我期望的单变量取值“ 1983M01”...。任何想法将不胜感激。

史蒂夫

variables r concatenation dataframe

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

如何在 R 中读取 UTF-8 编码的 XML 文件

我正在使用 Duncan Temple Lang 的 XML 包的 xmlParse 和 xPathApply 读取 R 中的 UTF-8 编码的 XML 文件。我在将文件中的文本读取到各种语言的数据框中时遇到问题。我目前使用的是 Windows 操作系统,但此 R 脚本将在不同的计算机上使用,因此我需要一个适合所有人的解决方案。请参阅下面的示例 XML 文件:

\n\n
<?xml version="1.0" encoding="UTF-8"?>\n<CATALOG>\n    <L1 lang="zh-TW">\xe4\xbd\xbf\xe7\x94\xa8\xe8\x80\x85\xe8\xad\x98\xe5\x88\xa5\xe7\xa2\xbc</L1>\n    <L2 lang="vi-VN">ID ng\xc6\xb0\xc6\xa1\xcc\x80i du\xcc\x80ng</L2>\n</CATALOG>\n
Run Code Online (Sandbox Code Playgroud)\n\n

该文本值分别以 \n 中的编码格式显示<U+4F7F><U+7528><U+8005><U+8B58><U+5225><U+78BC>ID nguo`i du`ng请注意,这只是一个示例,实际的 XML 文件包含不同语言的文本。

\n\n

代码片段:

\n\n
library(XML)\nlibrary(plyr)\n\ngetValues <- function(x) {\n  List <- list()\n\n  if(inherits(x, "XMLInternalElementNode")) {\n    if(length(xmlValue(x, recursive=FALSE)) != 0) {\n      List[[length(List)+1]] <- c(node = xmlName(x), value = xmlValue(x, recursive=FALSE))\n    }\n  }\n\nreturn(List)\n}\n\nvisitNode <- function(node, xpath = "//node()") {\n …
Run Code Online (Sandbox Code Playgroud)

xml r dataframe xml-parsing

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

在FreeBSD/bin /和/ usr/bin中返回vs退出

我注意到FreeBSD代码/bin并且/usr/bin有一些修复使用exit而不是return,这是什么意思?

我所有的想法都是return声明可能导致vfork(2)损坏堆栈帧,这是唯一的原因吗?如果这是真的,那么为什么只是在命令部分/bin/usr/bin得到修复,不是所有的人?

c freebsd return exit

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

是否可以使用std :: byte作为枚举类的基础类型?

由于std::byte根据定义不是整数类型,因此以下片段是不正确的:

enum class foo : std::byte
{
    bar = 1,
    baz = 2
};
Run Code Online (Sandbox Code Playgroud)

在C++ 17中是否有办法做与此相同的事情?

编辑:我不是要解决任何特定问题.显然enum class whatever : unsigned char会这样做.但是,我希望std::byte能够更加灵活,并且想知道这是否可行.

c++ c++17

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

从数据帧中删除最后5列而不知道具体数字

我有一个数据帧,由一个具有不断变化的列数的for循环创建.

在另一个函数中,我希望删除最后五列.

具有数据帧长度的变量是"单位",其数字在10和150之间.

我已经尝试使用列的名称,但它不起作用.(一旦我尝试打开"newframe"R工作室崩溃,查看myframe就没问题).

drops <- c("name1","name2","name3","name4","name5")
newframe <- results[,!(names(myframe) %in% drops)]
Run Code Online (Sandbox Code Playgroud)

有没有办法只删除数据帧的最后五列而不依赖于列的名称或数字

r dataframe

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

标签 统计

dataframe ×7

r ×7

assign ×1

c ×1

c++ ×1

c++17 ×1

class ×1

concatenation ×1

copy ×1

exit ×1

freebsd ×1

linux ×1

list ×1

mount ×1

plot ×1

python ×1

return ×1

row ×1

variables ×1

windows ×1

xml ×1

xml-parsing ×1