Tag: dataframe

在数据框中对组内的行进行编号

使用类似这样的数据框: set.seed(100) df <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15)) df <- df[order(df$cat, df$val), ] df cat val 1 aaa 0.05638315 2 aaa 0.25767250 3 aaa 0.30776611 4 aaa 0.46854928 5 aaa 0.55232243 6 bbb 0.17026205 7 bbb 0.37032054 8 bbb 0.48377074 9 bbb 0.54655860 10 bbb 0.81240262 11 ccc […]

在data.frame中删除具有NAs(缺失值)的行

我想删除这个数据框中所有列中包含NA的行。 以下是我的示例数据框。 gene hsap mmul mmus rnor cfam 1 ENSG00000208234 0 NA NA NA NA 2 ENSG00000199674 0 2 2 2 2 3 ENSG00000221622 0 NA NA NA NA 4 ENSG00000207604 0 NA NA 1 2 5 ENSG00000207431 0 NA NA NA NA 6 ENSG00000221312 0 1 2 3 2 基本上,我想要得到如下的数据框。 gene hsap mmul mmus […]

用于访问列表或数据框元素的和]符号之间的区别

R提供了两种不同的方法来访问列表或data.frame的元素[]和[[]]运算符。 两者有什么区别? 在什么情况下我应该使用一个在另一个之上?

在子集数据框中放置因子水平

我有一个数据框包含一个因素。 当我使用subset()或其他索引函数创build此数据框的subset() ,会创build一个新的数据框。 但是,因素variables保留了所有的原始级别 – 即使它们不存在于新的数据框架中。 这在创build多面绘图或使用依赖于因子级别的函数时会产生麻烦。 在我的新数据框架中从一个因素中删除层次的最简洁的方法是什么? 这是我的例子: df <- data.frame(letters=letters[1:5], numbers=seq(1:5)) levels(df$letters) ## [1] "a" "b" "c" "d" "e" subdf <- subset(df, numbers <= 3) ## letters numbers ## 1 a 1 ## 2 b 2 ## 3 c 3 ## but the levels are still there! levels(subdf$letters) ## [1] "a" "b" "c" […]

将三列数据框重塑为matrix(“长”到“宽”格式)

我有一个data.frame看起来像这样。 xa 1 xb 2 xc 3 ya 3 yb 3 yc 2 我想要这个matrixforms,所以我可以喂它到热图做一个情节。 结果应该如下所示: abc x 1 2 3 y 3 3 2 我已经尝试从重塑包转换,我已经尝试编写一个手动function来做到这一点,但我似乎并没有得到正确的。

使用$和列名称向量dynamicselect数据框列

我希望根据不同的栏目,一个轮到一个数据框。 我有一个字符向量与order应该基于的相关列名称: parameter <- c("market_value_LOCAL", "ep", "book_price", "sales_price", "dividend_yield", "beta", "TOTAL_RATING_SCORE", "ENVIRONMENT", "SOCIAL", "GOVERNANCE") 我希望循环“参数”中的名称并dynamicselect要用于order数据的列: Q1_R1000_parameter <- Q1_R1000[order(Q1_R1000$parameter[X]), ] 其中X是1:10 (因为我在“参数”中有10个项目)。 为了使我的例子具有可重现性,请考虑数据集“mtcars”和一些存储在字符向量“cols”中的variables名称。 当我尝试使用“cols”的一个dynamic子集从“mtcars”中select一个variables( Q1_R1000$parameter[X] )时,该列未被选中: cols <- c("cyl", "am") mtcars$cols[1] # NULL

将dataframe从宽转换为长格式

我有一些麻烦将我的data.frame从宽表转换为长表。 目前看起来像这样: wide <- read.table(textConnection( "Code Country 1950 1951 1952 1953 1954 AFG Afghanistan 20,249 21,352 22,532 23,557 24,555 ALB Albania 8,097 8,986 10,058 11,123 12,246"), header=TRUE) 这产生的数据框架wide如下所示: Code Country 1950 1951 1952 1953 1954 AFG Afghanistan 20,249 21,352 22,532 23,557 24,555 ALB Albania 8,097 8,986 10,058 11,123 12,246 我想变换成一个很长的data.frame例如: Code Country Year Value AFG […]

如何制作数据框的列表?

如何制作dataframe列表,以及如何从列表中访问每个dataframe? 我无法find这个简单的例子。 所以我告诉我我的post太短了,所以我会通过把一些数据框放在一个列表中来让它滚动。 d1<-data.frame(y1<-c(1,2,3),y2<-c(4,5,6)) d2<-data.frame(y1<-c(3,2,1),y2<-c(6,5,4))