第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何制作數(shù)據(jù)框列表?

如何制作數(shù)據(jù)框列表?

當(dāng)年話下 2019-05-22 13:31:42
如何制作數(shù)據(jù)框列表?如何制作數(shù)據(jù)框列表以及如何從列表中訪問(wèn)每個(gè)數(shù)據(jù)框?例如,如何將這些數(shù)據(jù)框放在列表中?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))
查看完整描述

4 回答

?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

這與您的問(wèn)題無(wú)關(guān),但您想要使用=而不是<-在函數(shù)調(diào)用中。如果您使用<-,您將最終創(chuàng)建變量,y1并y2在您正在使用的任何環(huán)境中:


d1 <- data.frame(y1 <- c(1, 2, 3), y2 <- c(4, 5, 6))

y1

# [1] 1 2 3

y2

# [1] 4 5 6

這不會(huì)產(chǎn)生在數(shù)據(jù)框中創(chuàng)建列名的看似期望的效果:


d1

#   y1....c.1..2..3. y2....c.4..5..6.

# 1                1                4

# 2                2                5

# 3                3                6

該=運(yùn)營(yíng)商,在另一方面,將您的向量與參數(shù)相關(guān)聯(lián)data.frame。


至于您的問(wèn)題,制作數(shù)據(jù)框列表很容易:


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))

my.list <- list(d1, d2)

您可以像訪問(wèn)任何其他列表元素一樣訪問(wèn)數(shù)據(jù)框:


my.list[[1]]

#   y1 y2

# 1  1  4

# 2  2  5

# 3  3  6


查看完整回答
反對(duì) 回復(fù) 2019-05-22
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

您也可以訪問(wèn)特定的列和值在每個(gè)列表元素與  [和[[。這里有幾個(gè)例子。首先,我們只能訪問(wèn)列表中每個(gè)數(shù)據(jù)框的第一列l(wèi)apply(ldf, "[", 1),其中1表示列號(hào)。


ldf <- list(d1 = d1, d2 = d2)  ## create a named list of your data frames

lapply(ldf, "[", 1)

# $d1

#   y1

# 1  1

# 2  2

# 3  3

#

# $d2

#   y1

# 1  3

# 2  2

# 3  1

同樣,我們可以訪問(wèn)第二列中的第一個(gè)值


lapply(ldf, "[", 1, 2)

# $d1

# [1] 4

# $d2

# [1] 6

然后我們也可以直接訪問(wèn)列值,作為向量,用 [[


lapply(ldf, "[[", 1)

# $d1

# [1] 1 2 3

#

# $d2

# [1] 3 2 1


查看完整回答
反對(duì) 回復(fù) 2019-05-22
?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果您有大量按順序命名的數(shù)據(jù)框,則可以創(chuàng)建所需數(shù)據(jù)框子集的列表,如下所示:


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))

d3 <- data.frame(y1=c(6,5,4), y2=c(3,2,1))

d4 <- data.frame(y1=c(9,9,9), y2=c(8,8,8))


my.list <- list(d1, d2, d3, d4)

my.list


my.list2 <- lapply(paste('d', seq(2,4,1), sep=''), get)

my.list2

where my.list2返回包含第2,第3和第4個(gè)數(shù)據(jù)幀的列表。


[[1]]

  y1 y2

1  3  6

2  2  5

3  1  4


[[2]]

  y1 y2

1  6  3

2  5  2

3  4  1


[[3]]

  y1 y2

1  9  8

2  9  8

3  9  8

但請(qǐng)注意,上面列表中的數(shù)據(jù)框不再被命名。如果要?jiǎng)?chuàng)建包含數(shù)據(jù)框子集的列表并希望保留其名稱,可以嘗試以下操作:


list.function <-  function() { 


     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))

     d3 <- data.frame(y1=c(6,5,4), y2=c(3,2,1))

     d4 <- data.frame(y1=c(9,9,9), y2=c(8,8,8))


     sapply(paste('d', seq(2,4,1), sep=''), get, environment(), simplify = FALSE) 


my.list3 <- list.function()

my.list3

返回:


> my.list3

$d2

  y1 y2

1  3  6

2  2  5

3  1  4


$d3

  y1 y2

1  6  3

2  5  2

3  4  1


$d4

  y1 y2

1  9  8

2  9  8

3  9  8


> str(my.list3)

List of 3

 $ d2:'data.frame':     3 obs. of  2 variables:

  ..$ y1: num [1:3] 3 2 1

  ..$ y2: num [1:3] 6 5 4

 $ d3:'data.frame':     3 obs. of  2 variables:

  ..$ y1: num [1:3] 6 5 4

  ..$ y2: num [1:3] 3 2 1

 $ d4:'data.frame':     3 obs. of  2 variables:

  ..$ y1: num [1:3] 9 9 9

  ..$ y2: num [1:3] 8 8 8


> my.list3[[1]]

  y1 y2

1  3  6

2  2  5

3  1  4


> my.list3$d4

  y1 y2

1  9  8

2  9  8

3  9  8


查看完整回答
反對(duì) 回復(fù) 2019-05-22
  • 4 回答
  • 0 關(guān)注
  • 842 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)