小编Han*_*nie的帖子

在现有行之间添加空白行

我有一个包含 240 个案例的数据集,我想在每个现有行之后创建一个空白行。给我留下了 480 行,其中一半已填充,另一半为空(然后我想自己填充一些数据)。

数据示例

  id groep_MNC zkhs fbeh    pgebdat    p_age pgesl
1  3         1    1    1 1955-12-01 42.50000     1
2  5         1    1    1 1943-04-09 55.16667     1
3  7         1    1    1 1958-04-10 40.25000     1
4 10         1    1    1 1958-04-17 40.25000     1
5 12         1    1    2 1947-11-01 50.66667     1
6 14         1    1    2 1952-02-02 46.41667     1
Run Code Online (Sandbox Code Playgroud)

理想情况下,“id”应该被复制,因此看起来像这样:

    id groep_MNC zkhs fbeh    pgebdat    p_age pgesl
1    3         1    1    1 1955-12-01 42.50000     1
2    3        NA …
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

R:写入循环以计算差异并存储在新变量中

我已经查看过有关此主题的不同问题,但到目前为止,没有人帮助我获得我想要的东西.

我有一个数据框,有两个变量(standards_'testname')和'predict_standardized_'testname').现在,我想计算两者之间的差异并将其存储在一个名为'testname'_finalscore的新变量中.

由于我有大约19个不同的测试,我想用R中的for循环来做这个 - 但我是新编写这种循环,我被卡住了.

我有一个测试列表,包含单独测试的所有名称:

testlist <- c("vlgt_ltfr", "vlgt_recog", 
          "vlgt_imrec", "wms_imrec", 
          "wms_delrec", "fluency_dier", 
          "fluency_beroep", "tapdom",
          "tapndom", "traila", "trailb",
          "erik_congruent", "erik_percincong",
          "erik_incongruent", "stroop_baseline",
          "stroop_interference", "subrs", "tmt_interference")
Run Code Online (Sandbox Code Playgroud)

为此,我编写了一个循环来计算标准化和预测标准化分数.

例:

for( test in testlist){
      patdat[,paste0('standardized_',test)] <- (patdat[,test] - tempmean) / tempsd
      patdat[,paste0('predicted_standardized_',test)] <- coef(mymod)[1] + coef(mymod)[2]*patdat[,'p_age'] + coef(mymod)[3]*patdat[,'nlviq']
Run Code Online (Sandbox Code Playgroud)

}

在此之后,我创建了不同的循环(不起作用),我尝试计算差异并将其存储在一个新变量中:

for( test in testlist){
  normdata[,paste0(test,'_finalscore')] <- (normdata[,paste0('standardized_', test)] - normdata[,paste0('predicted_standardized_', test)])
 }

for(test in testlist){
  normdata[,paste0(test, '_finalscore')] <- normdata[get('standardized_',test)] - normdata[get('predicted_standardized_'), test]
}

for(test in testlist){
  normdata[,paste0(test, '_finalscore')] <- (normdata['standardized_',test] …
Run Code Online (Sandbox Code Playgroud)

variables for-loop r

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

R:对于列中的每个唯一值,在其他列中搜索相应的字符串并追加

例如数据见下文.假设我有一个包含两列A,B的data.frame.A由代码组成.代码链接到B列,其中包含人们可以居住的区域.一个代码可以对应多个区域.我希望创建一个文件,其中每一行都包含一个唯一的代码,后面是填充了代码所属区域的列.

示例数据

        A       B
      <dbl>   <chr>
 1     1483 De Rijp
 2     1483 De Rijp
 3     1483 De Rijp-Gracht
 4     1483 De Rijp-Gracht
 5     1423 Huiswaard
 6     1423 Huiswaard-Noord
 7     1423 Huiswaard-Zuid
 8     1811 Centrum
 9     1811 Centrum
10     1811 Centrum
11     1811 Centrum
12     1811 Overdie
13     1811 Overdie
14     1811 Overdie
15     1811 Overdie
Run Code Online (Sandbox Code Playgroud)

我想最终得到什么:

       code   area    area_1          area_2         area_3  area_4
      <dbl>   <chr>   <chr>           <chr>          <chr>   <chr>
 1     1483 De Rijp   De Rijp-Gracht
 2     1423 Huiswaard Huiswaard-Noord Huiswaard-Zuid
 3 …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×3

dataframe ×1

for-loop ×1

variables ×1